くだすれPython(超初心者用) その36
■ このスレッドは過去ログ倉庫に格納されています
このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その35 http://mevius.5ch.net/test/read.cgi/tech/1496411341/ VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured 「意見は論理的な考えによって形作られ,客観的な考え方が唯一の考え方」で有る。 2018年01月03日 11時16分00秒 Intelのプロセッサチップに根本的な設計上の欠陥が発覚、各OSにアップデートの必要性 http://gigazine.net/news/20180103-intel-processor-design-flaw/ ここ10年間に製造されたIntelのプロセッサに、設計上の欠陥が見つかりました。 最悪の場合、パスワードやログインキー、 キャッシュファイルなどが格納されたカーネルメモリーの内容を読み取られる恐れが あるとのことなのですが、Intel x86ハードウェアに存在する欠陥のため、 マイクロコードアップデートでは対応不可能で、 各OSがソフトウェアレベルで修正をかけるか、 バグのない新たなプロセッサを導入する必要があるとのこと。 このバグは、データベースアプリケーションから ウェブブラウザのJavaScriptのようなものまで含めた普通のユーザープログラムでも、 保護されたカーネルメモリーをある程度まで認識できるというもの。 カーネルメモリーにはパスワード、ログインキー、 ディスクからキャッシュされたファイルなど、秘密にしておくべき情報も格納されているため、 通常はユーザープロセスやユーザープログラムからは隠された状態になっていますが、 欠陥が存在することにより、 ブラウザで実行中のJavaScriptや共有パブリッククラウドサーバー上で実行されているマルウェアによって情報を盗み見られる恐れが出てきます。 「python sweetness」によれば、影響は仮想メモリを実装している 現代のすべてのCPUアーキテクチャに及び、完全に解決するにはハードウェアの変更が必要になるとのこと。 tkinterって使いみちあんのかね? メンテするだけの価値ないしお荷物だろ 捨てちまえよ! なになに?PyQt使ってんの?PySide?まさかwxPythonじゃないよね? ttps://www.pythonweb.jp/install/install/index1.html これに沿ってPython 3.6.4 Windows x86-64 executable installer(windows10) をインストール完了させました 早速メモ帳を開いて「print('hello python!')」と記入して 「sample.py」と名前をつけて保存 本体を起動させ「python sample.py」と入力すると File"<stdin>,line 1 python sample.py SyntaxError:invalid syntax と表記され、出力してくれません 助けてください コマンドプロンプトを立ち上げないで、python.exeを実行してる 多分それな あるいはidleとコマンドプロンプト間違えてる >本体を起動させ「python sample.py」と入力 本体っつってんだろ 美汁4のfind_all()メソッドとfindAll()メソッドっておなじものなんですか? 本当の初心者です 1、パイソンは他の言語を学ばず直接覚えることはできますか? 2、数学の知識はどれくらいまで必要ですか?(微積分すらできない) 3、数学も分からない状態でパイソンだけ学習した場合、仕事はありますか? あと独学だとどれくらいで習得可能かも教えてください >>20 真面目に答えてやるか 1、はじめて覚えるための言語なんてそもそもありません。Pythonは変な書き方が出来難いので初心者にはおすすめです。 2、Pythonで何をやりたいかによります。必要になれば勉強すればいいです。 3、Pythonに触れてみて、書いてみて楽しくなければお話しになりません。仕事のために覚えるなんてモチベーションが続きません。 pythonをやりたいのに数学に弱いとは一体・・・ 統計関係に関わるんだからさ・・・ 高校数学レベルならなんとか分かります 大学数学が必要かどうかが心配なだけです 高校数学だけで学べるんですか? 知識が無いのと勉強しないのは別物だしね。 勉強してダメならほかやった方がいいと思うよ 大学数学なんて理解してるの数学科の生徒以外でほとんどいないだろ >>27 うせやろ? 別のスレで情報工学マスターするには大学数学が必要と言われたが そもそも機電系でも多分新しい数学分野でてくると思うが >>23 pythonで財務会計や管理会計や税務会計のソフトを書いたとしてもおかしくない。 >>23 テキスト処理とか普通にやってるぞ って言うか会社で使ってる範囲だと数学って言う感じは全くしない 製造現場で製品検査すために測定器と通信したり、係員に検品経過を見せるために製品内で HTTPサーバー動かしたりしたわ HTTPサーバーのスクリプト20行ぐらいだったかな https://ideone.com/EbKwVN 再帰的にC配列の(単体数字の)重複を排除したい。 どなたか、やってくれませんか? コードが省略できません。 助けて貰えませんか? def Sample03(xx): __[pass if l.index(a[i])==l.index(b[i]) for i in range(xx)] おすすめのパソコンありますか? macbookproを購入しようかと検討中のものです スレチだけどmbpいいよ winマシンだとレッツノートの高いやつくらいかな良いのは ノートでそれ以上のスペック求めるとゲーミングに行っちゃう >>40 thx mbpにする決心がついた ただもう少しで2018年のが出そうなんだよなー 仕方ないか >>41 mbpスレを覗けばわかるけど、待てるなら待ったほうが良いよ >>43 今使ってるPCはもう限界なので待つのは厳しい。。 新しいのがでるのは3月か6月ごろなようなので長い def test_func(): print('call test_func') test_func() をコマンドプロンプトから実行しようとすると File "<stdin>", line 4 test_func() ^ SyntaxError: invalid syntax >>> って出るんだけどなんでですか? 目に見えない文字が入ってるから 最後の行とその上の空行も全部消してから書き直す 下記のような配列を作ってその中から条件を満たしているものの中で 価格が最大値のものを検索するということがしたいのです。 品目 条件 価格 りんご OK 100 みかん OK 200 れもん NG 300 1.この場合、配列は下記のようなリストを作ればよいのでしょうか? list=[[りんご, OK, 100], [みかん, OK, 200], [れもん, NG, 300]] 2.上記1.のアプローチが正しいとして、上記リストにおいて、条件がOKのもので価格が一番高いものの 配列の番号(または品目)を取得する方法をどなたかお教えいただけないでしょうか。 (辞書でもリストでも何でも良いのでが上記の表のような配列の裁き方が検索しても見つけられず・・・) >>50 Pythonじゃなきゃダメ? 正直、データベースソフトでやるべき案件だと思う どうしてもPythonでやるなら、内包表記を使ってリストから 条件に合う要素を抜き出して新しいリストを作り、データを絞り込んで行く >>> a = [['りんご', 'OK', 100], ['みかん', 'OK', 200], ['れもん', 'NG', 300]] >>> ok_list = [elem for elem in a if elem[1] == 'OK'] >>> ok_list [['りんご', 'OK', 100], ['みかん', 'OK', 200]] >>> max_price = max([elem[2] for elem in ok_list]) >>> max_price 200 >>> name = [elem[0] for elem in ok_list if elem[2] == max_price] >>> name ['みかん'] あと、list=[[りんご, OK, 100], [みかん, OK, 200], [れもん, NG, 300]] と最初にあったが 変数名にlistなどのPythonに元からあるオブジェクト名そのまんまを使うのは避けよう エラーの元になる >>52 Pythonスレで Pythonじゃなきゃダメ? ってオイオイだろ これなんか学校の課題って気がする list=[["りんご", "OK", 100], ["みかん", "OK", 200], ["れもん", "NG", 300]] l_OK = [item_OK for item_OK in filter(lambda list_item : list_item[1] == "OK", list)] #l_OK = [item for item in list if item[1] == "OK"] print( max(l_OK, key=(lambda item_OK: item_OK[2]) )[0] ) 50です。みなさんご回答ありがとうございます。 >>51 検索すると色々あるのですが分かりそうで分からず…。 >>52 , >>53 ありがとうございます!いずれの方法でもできました。 一度条件で抽出してからmax使うのですね(そこに思い至りませんでした…) >>54 後々触ってみたいとは思うのですが、この程度のデータなのでまずは基本的なことを知りたいと思いまして。 pandasのstr.containsとかって、真偽反転するとき“~”を付けるじゃないですか この波線って、pythonの側のビット演算子ですか? strアクセサ用のオプション記号? x=1 tf=2 in x print(~tf) とかで試してみるとT/Fではなく数字が出てくるので、strアクセサ用の機能? >56 in を使うなら、x=[1]とするべきでは? また、否定演算子は~でなくてnotを使うべき。 ~は、ビット毎の反転をとる演算子。Trueは1、Falseは0とみなして計算されるはず。 >>50 もう解決してるみたいだけど 価格が0または正だと仮定していいなら print(max(list, key=(lambda x: x[2] if x[1] == 'OK' else -1))) とすれば要素の抽出とかはなくてもいける ただし'OK'のものが一件もないと価格が'NG'のものを返すので注意が必要 > 価格が'NG'のものを返す 価格じゃなくて条件だったわ >>56 配列の番号(と品目)を取得するようにしたニダね list=[["りんご", "OK", 100], ["みかん", "OK", 200], ["れもん", "NG", 300]] dic_OK = {list_idx:list_item for list_idx,list_item in enumerate(list) if list_item[1] == 'OK'} list_index = max( dic_OK, key=(lambda dkey: dic_OK[dkey][2]) ) print( 'List index:', list_index ) print( 'Item name:', list[list_index][0] ) >>59 ついでに、max()使うとOKフラグ付きの同じ最高価格の物が複数あると困ったニダになるからな よくよく考えたらmax()のキーにタプルを返すようにすれば > 価格が0または正だと仮定していいなら の制限は要らなかったな print(max(list, key=(lambda x: ( x[1] == 'OK', x[2])))) > ただし'OK'のものが一件もないと条件が'NG'のものを返すので注意が必要 の方はそのままだけど なぜ、後になるにつれてこうも劣化していくのか >>52 >変数名にlistなどのPythonに元からあるオブジェクト名そのまんまを使うのは避けよう その気持ちよくわかります print({1,2,3}) と実行すると {1,2,3} と出力されます。 s1 = {1,2,3} s2 = {4,5,6} print(str(s1) + " -> " + str(s2)) と実行しても {1,2,3} -> {4,5,6} とは出力されません。 {1,2,3} -> {4,5,6} と出力するにはどうすればいいのでしょうか? >>66 自分のPython3.6.3ではそのコードで意図通り表示されたよ そちらはどう表示されるの? >>67 欲しいのは、{1,2,3} -> {4,5,6} で {1, 2, 3} -> {4, 5, 6} じゃいやぽ だから、なんとかしてじゃないのか formatなり空白をreplaceなりすればいい >>68 自分の環境(Windows7, Python3.6.3)では最初からスペースが入るからよくわからんね 質問者からの追加説明を待ちたい >>> print({1,2,3}) {1, 2, 3} {}は、set setは、順序を保持しない 順序を保持したいなら、[4,5,6]とlistを使うのがよい >>50-65 漏れは、色々な言語で、最大値を持つオブジェクトを取得する、方法を研究しているが、 最大値が複数ある場合に、簡単に取得できる方法は、どの言語にも無い! どの言語でも、最大値は1つであると、仮定されているから 例えば、Ruby のminmax。 最大・最小値が複数ある場合は、どの要素が取得できるかは、不定です! C#のリスト型.Max関数は最大値そのものを返す んでWhereメソッドでその最大値を持つ要素を抽出する >>72 > 最大値が複数ある場合に、簡単に取得できる方法は、どの言語にも無い! >>73 もしくは t-sql で rank() とか使うとかかな >>55 >一度条件で抽出してからmax使うのですね こんなこと(条件を満たすもの全て抽出)はしないで俺様関数を作って 俺様関数中で条件を満たすものピックアップしながらmaxを探すとかするんじゃないのか >>74 最大値が複数ある場合に、標準関数で簡単に取得できる方法がないなら 自分で望みのことする関数なんかを作れだろうな 最大値が複数有る時にmax要素を含むモノを返す処理 俺にも教えて。 l=[1,2,2,3,4,5,5,7,8,9,9] import collections x=collections.Counter(l) print(x) どうすれば、いいんでちゅかぁ?wwwwwwwwww ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐ ┌(_Д_┌ )┐ from collections import Counter print( Counter('abracadabra').most_common(3) ) cnt = Counter() for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']: cnt[word] += 1 print(cnt) あぁ? ああああああああああああ あばばばばばばばばばあwwwww 答え合わせのお時間でチュよぉおおおおおwww ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐ ┌(_Д_┌ )┐ import collections l='abbabacccddeee' r = collections.Counter(l) print (r.most_common(2))#取り出す個数wwwwwww あああああああああああああーーーーーーーーーーwwwwwwwww 取り出す個数を求めるの忘れて待ちたぁああああああwwwwwwww はいっ! はいっ!! 「ハイ! ハイ!」 「ハイ! ハイ!」 ぶひいいいいいいいいいいwwwww 「アイィィィ!ポイ!ポイィィィ!」 「んっ! 」 「んっ!」 35歳 「あっ。あっああ。。。」 「あっ。あっああ。。。」 遊園地「ぶひいいいいいいいいいいwwwww」 ぬーぷ 「冬の大空に降り注ぐ彗星」 35歳&ぬーぷ&遊園地「 はいっ! はいっ!! 」 「ぶひいいいいいいいいいいwwwww」 ( ゚д゚ )クワッ!! ヘ(゚∀゚ヘ)アヒャ ┌(_Д_┌ )┐ Ruby で作った scores = [1,2,9,2,3,9,7] results = scores.each_with_object([]).with_index do |(score, ary), i| if ary.empty? || ary[0][0] == score ary << [score, i] elsif ary[0][0] < score ary.clear ary << [score, i] end end results.each do |item| puts "score: #{item[0]}, index: #{item[1]}" end 出力 score: 9, index: 2 score: 9, index: 5 どうしても、言いたい事が有るので、聞いて下さい。 「氣持ちいぃいいいいwwwwいいぃぃいんぽおおおおおおおおおおおwwwww」 >>83 数値のmax要素を取得してるから、もっとも多い要素の複数を返す。 と言う、仕様には使えない。 多い要素を取得のハズが数値MAX取得でNG https://ideone.com/Cj8JYJ 試験データ型 scores = [1,2,9,2,3,9,7,3,3,2] 返り値 要素 2,3 index 1,3,9 4,7,8 正規表現で実装する方が良いかも。 大丈夫だwっw 俺より凄い奴が出て来て助言してくれるぞwww ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐ >>78 [('a', 5), ('b', 2), ('r', 2)] Traceback (most recent call last): File "C:/Users/banbarori5/myscript.py", line 7, in <module> cut[word] += 1 NameError: name 'cut' is not defined まずmaxを求めて 次にmaxと一致するものをリスト内包で抜き出すのが Python流の思想 同時にやろうとするのはC++の発想なので違う データベースの副問い合わせみたいなもんだな >>86 公式ドキュメントに記載されてるコード エラーは基本ない。 https://ideone.com/rkTRuh >>83 のやり方なら、全要素を1回の走査で済むけど、バグる可能性が高くなるから、 一旦、最大値を求めてから、改めてその最大値を使っている要素を、探した方が良さそう。 ただし、このやり方では、2回の走査になる 取り敢えず、動くモノはできた。 誰か 整形 はよぉおおおおおおおおおおおwwwwwwwww https://ideone.com/nAscvc もしくはぁああああwwww 誰か書き直してぇええええええええ くだすれPython(超初心者用) その33©2ch.net 914 :デフォルトの名無しさん:2017/05/24(水) 17:14:04.97 ID:rw+7fc+A >>913 雪風は人間初心者だろ?死ねよ 俺を挑発した奴www 出てこいコノヤローーーーwwww 1.最大値が複数有る時にmax要素を含むモノを全て返す処理 2.要素数が多いモノをindex付きで、全て返す 2のデータ [1,2,9,2,3,9,7,3,3,2] 2の望む出力 {2:[1,3,9], 3:[4,7,8]} 1のデータ {2:[1,3,9], 3:[4,7,8],9:[2,5,9]} 1の望む出力 {2:[1,3,9], 9:[2,5,9]} お願いします。 君とぉおおおおおおおおおおお ちゅーーーしたぁあああうぃいいwwwっw?? あなーーーーたーーーがw0−−−−wwww 好きだからぁあらあらあぁあwww NOnoooo のんぉおおのぉお とぉおおおおをおをおををっをwww Ruby で作った。 同じ数字でグループ化して、要素数が最大になったものを取得する scores = [1,2,9,2,3,9,7,3,3,2] groups = scores.group_by { |num| num } max_item = groups.max_by { |num, ary| ary.length } groups.select! { |num, ary| ary.length == max_item[1].length } p groups 出力 {2=>[2, 2, 2], 3=>[3, 3, 3]} 94 の続きに、以下を付け足して results = groups.each_with_object({}) do |(num, ary), h| scores.each_with_index do |num2, i| if num == num2 if h[num] h[num] <<= i else h[num] = [i] end end end end p results 出力 {2=>[1, 3, 9], 3=>[4, 7, 8]} Ruby で作った。 すべての配列を連結・平坦化して、最大値を探す。 その最大値を含むものだけを残す groups = {2=>[1,3,9], 3=>[4,7,8],9=>[2,5,9]} ary = groups.each_with_object([]) { |group, ary| ary << group } max_num = ary.flatten!.max results = groups.select {|key, ary| ary.include?(max_num) } p results 結果 {2=>[1, 3, 9], 9=>[2, 5, 9]} Pythonのお勉強 Part55 スレッドで解答が有りました。 310 名前:デフォルトの名無しさん 2018/01/16(火) 22:18:39.43 ID:x5Aoa3gi >>> #1のデータ >>> d = {2:[1,3,9], 3:[4,7,8],8:[2,5,9]} >>> max_value = max([max(value) for value in d.values()]) >>> [d.pop(key) if max_value not in value else None for key, value in d.copy().items()] [None, [4, 7, 8], None] >>> d {2: [1, 3, 9], 8: [2, 5, 9]} >>> >>> >>> #2のデータ >>> from collections import defaultdict, Counter >>> from itertools import compress >>> l=[1,2,9,2,3,9,7,3,3,2] >>> d = defaultdict(list) >>> [d[value].append(idx) for idx, value in enumerate(l)] [None, None, None, None, None, None, None, None, None, None] >>> c = Counter(l) >>> selector = [count == c.most_common(1)[0][1] for num, count in c.items()] >>> dict(compress(d.items() , selector)) {2: [1, 3, 9], 3: [4, 7, 8]} >>> 質疑応答 回答 が 有りました? 答えてくれて人に感謝ですぅううううwwwww ほわええええええ 「ほぇ? ほぇええええええええええええええええwwwww」 リスト内の要素に指定した文字列が含まれるのを検出したいとき F="ex" L=["exe","zip","tex"] for i in L: if i in F というような処理しか知らないんですが、普通はどうやるんでしょうか ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる