1 名前:デフォルトの名無しさん mailto:sage [2018/01/01(月) 20:18:42.82 ID:iOcRvNll.net] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その35 mevius.5ch.net/test/read.cgi/tech/1496411341/ VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured
27 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 12:38:12.48 ID:k6ghs7nO.net] 知識が無いのと勉強しないのは別物だしね。 勉強してダメならほかやった方がいいと思うよ
28 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 12:50:09.14 ID:tXr0nFdK.net] 大学数学なんて理解してるの数学科の生徒以外でほとんどいないだろ
29 名前:デフォルトの名無しさん [2018/01/09(火) 15:07:37.80 ID:7TNqNH1F.net] >>27 うせやろ? 別のスレで情報工学マスターするには大学数学が必要と言われたが そもそも機電系でも多分新しい数学分野でてくると思うが
30 名前:デフォルトの名無しさん [2018/01/09(火) 17:21:22.63 ID:sltW7mFZ.net] >>23 pythonで財務会計や管理会計や税務会計のソフトを書いたとしてもおかしくない。
31 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 19:27:20.67 ID:7lOmzbTz.net] >>23 テキスト処理とか普通にやってるぞ って言うか会社で使ってる範囲だと数学って言う感じは全くしない
32 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 21:18:31.14 ID:TfXfj3hF.net] 製造現場で製品検査すために測定器と通信したり、係員に検品経過を見せるために製品内で HTTPサーバー動かしたりしたわ HTTPサーバーのスクリプト20行ぐらいだったかな
33 名前:デフォルトの名無しさん mailto:age [2018/01/09(火) 21:39:58.16 ID:oH5KqnIn.net] https://ideone.com/EbKwVN 再帰的にC配列の(単体数字の)重複を排除したい。 どなたか、やってくれませんか?
34 名前:32 mailto:sage [2018/01/09(火) 21:45:15.87 ID:oH5KqnIn.net] コードが省略できません。 助けて貰えませんか? def Sample03(xx): __[pass if l.index(a[i])==l.index(b[i])
35 名前: for i in range(xx)] [] [ここ壊れてます]
36 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 22:13:47.62 ID:oH5KqnIn.net] おい。マジかよ。俺達友達だろ(今だけ)?
37 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 23:03:22.04 ID:vzCLSFzT.net] setなら重複削除してくれるんじゃなかった?
38 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 23:54:38.18 ID:K38Tz4Di.net] >>35 setだと順番が崩れるらしい https://www.lifewithpython.com/2013/11/python-remove-duplicates-from-lists.html?m=1
39 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 00:09:29.83 ID:D/rW/oyZ.net] 再起って言ってるやんw
40 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 08:14:39.01 ID:3NQTqux9.net] c配列と問題の箇所が何行目か読み取れなかった
41 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 09:14:54.92 ID:uWMTsG/V.net] おすすめのパソコンありますか? macbookproを購入しようかと検討中のものです
42 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 13:22:40.35 ID:7Twskh/5.net] スレチだけどmbpいいよ winマシンだとレッツノートの高いやつくらいかな良いのは ノートでそれ以上のスペック求めるとゲーミングに行っちゃう
43 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 15:28:15.44 ID:uWMTsG/V.net] >>40 thx mbpにする決心がついた ただもう少しで2018年のが出そうなんだよなー 仕方ないか
44 名前:デフォルトの名無しさん [2018/01/10(水) 16:38:06.78 ID:H9Wjc7xc.net] https://pc.watch.impress.co.jp/docs/news/event/1099938.html
45 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 16:45:42.81 ID:Dg+5gWi5.net] >>41 mbpスレを覗けばわかるけど、待てるなら待ったほうが良いよ
46 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 16:53:30.15 ID:uWMTsG/V.net] >>42 これも良さそうですね thx
47 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 16:58:49.46 ID:uWMTsG/V.net] >>43 今使ってるPCはもう限界なので待つのは厳しい。。 新しいのがでるのは3月か6月ごろなようなので長い
48 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 17:52:19.30 ID:Dg+5gWi5.net] OSにこだわらないのであれば結構選択肢はあるよ
49 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 18:13:19.35 ID:XD3nGTcX.net] def test_func(): print('call test_func') test_func() をコマンドプロンプトから実行しようとすると File "<stdin>", line 4 test_func() ^ SyntaxError: invalid syntax >>> って出るんだけどなんでですか?
50 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 18:19:00.03 .net] 目に見えない文字が入ってるから 最後の行とその上の空行も全部消してから書き直す
51 名前:デフォルトの名無しさん mailto:sage [2018/01/11(木) 13:55:06.55 ID:Rdhkb3Oy.net] >>48 ありがとうございます
52 名前:デフォルトの名無しさん [2018/01/13(土) 22:24:55.51 ID:BAsP1Vyl.net] 下記のような配列を作ってその中から条件を満たしているものの中で 価格が最大値のものを検索するということがしたいのです。 品目 条件 価格 りんご OK 100 みかん OK 200 れもん NG 300 1.この場合、配列は下記のようなリストを作ればよいのでしょうか? list=[[りんご, OK, 100], [みかん, OK, 200], [れもん, NG, 300]] 2.上記1.のアプローチが正しいとして、上記リストにおいて、条件がOKのもので価格が一番高いものの 配列の番号(または品目)を取得する方法をどなたかお教えいただけないでしょうか。 (辞書でもリストでも何でも良いのでが上記の表のような配列の裁き方が検索しても見つけられず・・・)
53 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 00:20:35.69 ID:t0jHIC/R.net] max関数を調べてみるとよい
54 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 01:00:13.30 ID:rilCPocj.net] >>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に元からあるオブジェクト名そのまんまを使うのは避けよう エラーの元になる
55 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 01:32:55.95 ID:YcirJyIj.net] >>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] )
56 名前:デフォルトの名無しさん [2018/01/14(日) 02:18:12.29 ID:yVTJx4nd.net] pandas使え
57 名前:50です mailto:sage [2018/01/14(日) 08:27:28.43 ID:krdFkWsl.net] 50です。みなさんご回答ありがとうございます。 >>51 検索すると色々あるのですが分かりそうで分からず…。 >>52 , >>53 ありがとうございます!いずれの方法でもできました。 一度条件で抽出してからmax使うのですね(そこに思い至りませんでした…) >>54 後々触ってみたいとは思うのですが、この程度のデータなのでまずは基本的なことを知りたいと思いまして。
58 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 10:39:38.00 ID:TwgO/caM.net] pandasのstr.containsとかって、真偽反転するとき“~”を付けるじゃないですか この波線って、pythonの側のビット演算子ですか? strアクセサ用のオプション記号? x=1 tf=2 in x print(~tf) とかで試してみるとT/Fではなく数字が出てくるので、strアクセサ用の機能?
59 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 13:23:26.45 ID:0mtDcMfe.net] >56 in を使うなら、x=[1]とするべきでは? また、否定演算子は~でなくてnotを使うべき。 ~は、ビット毎の反転をとる演算子。Trueは1、Falseは0とみなして計算されるはず。
60 名前:デフォルトの名無しさん [2018/01/14(日) 14:50:25.95 ID:79VwseEt.net] だれもそんな話はしてないぞ
61 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 15:32:15.53 ID:DgdnagvN.net] >>50 もう解決してるみたいだけど 価格が0または正だと仮定していいなら print(max(list, key=(lambda x: x[2] if x[1] == 'OK' else -1))) とすれば要素の抽出とかはなくてもいける ただし'OK'のものが一件もないと価格が'NG'のものを返すので注意が必要
62 名前:50 mailto:sage [2018/01/14(日) 15:34:13.85 ID:DgdnagvN.net] > 価格が'NG'のものを返す 価格じゃなくて条件だったわ
63 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 15:57:09.64 ID:/4CphuTL.net] >>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( '
64 名前:Item name:', list[list_index][0] ) [] [ここ壊れてます]
65 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 16:27:06.07 ID:/4CphuTL.net] >>59 ついでに、max()使うとOKフラグ付きの同じ最高価格の物が複数あると困ったニダになるからな
66 名前:50 mailto:sage [2018/01/14(日) 16:31:48.67 ID:DgdnagvN.net] よくよく考えたらmax()のキーにタプルを返すようにすれば > 価格が0または正だと仮定していいなら の制限は要らなかったな print(max(list, key=(lambda x: ( x[1] == 'OK', x[2])))) > ただし'OK'のものが一件もないと条件が'NG'のものを返すので注意が必要 の方はそのままだけど
67 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 16:33:19.71 ID:DgdnagvN.net] >>62 そこは要件次第でしょ
68 名前:デフォルトの名無しさん [2018/01/14(日) 17:34:08.11 ID:CiqP7kj2.net] なぜ、後になるにつれてこうも劣化していくのか >>52 >変数名にlistなどのPythonに元からあるオブジェクト名そのまんまを使うのは避けよう その気持ちよくわかります
69 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 19:43:47.38 ID:GEVmZqF5.net] 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} と出力するにはどうすればいいのでしょうか?
70 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 20:05:47.59 ID:rilCPocj.net] >>66 自分のPython3.6.3ではそのコードで意図通り表示されたよ そちらはどう表示されるの?
71 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 20:13:42.00 ID:EtO+GVJz.net] >>67 欲しいのは、{1,2,3} -> {4,5,6} で {1, 2, 3} -> {4, 5, 6} じゃいやぽ だから、なんとかしてじゃないのか
72 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 20:50:44.02 ID:ZtH88FLC.net] formatなり空白をreplaceなりすればいい
73 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 21:01:00.84 ID:rilCPocj.net] >>68 自分の環境(Windows7, Python3.6.3)では最初からスペースが入るからよくわからんね 質問者からの追加説明を待ちたい >>> print({1,2,3}) {1, 2, 3}
74 名前:デフォルトの名無しさん mailto:sage [2018/01/14(日) 21:30:58.89 ID:0mtDcMfe.net] {}は、set setは、順序を保持しない 順序を保持したいなら、[4,5,6]とlistを使うのがよい
75 名前:デフォルトの名無しさん mailto:sage [2018/01/15(月) 16:27:23.26 ID:oyJFiKwa.net] >>50-65 漏れは、色々な言語で、最大値を持つオブジェクトを取得する、方法を研究しているが、 最大値が複数ある場合に、簡単に取得できる方法は、どの言語にも無い! どの言語でも、最大値は1つであると、仮定されているから 例えば、Ruby のminmax。 最大・最小値が複数ある場合は、どの要素が取得できるかは、不定です!
76 名前:デフォルトの名無しさん mailto:sage [2018/01/15(月) 16:57:20.16 .net] C#のリスト型.Max関数は最大値そのものを返す んでWhereメソッドでその最大値を持つ要素を抽出する
77 名前:デフォルトの名無しさん mailto:sage [2018/01/15(月) 20:04:38.28 ID:dgT2VGvQ.net] >>72 > 最大値が複数ある場合に、簡単に取得できる方法は、どの言語にも無い! >>73 もしくは t-sql で rank() とか使うとかかな
78 名前:デフォルトの名無しさん [2018/01/15(月) 20:20:13.07 ID:uVak3BOk.net] >>55 >一度条件で抽出してからmax使うのですね こんなこと(条件を満たすもの全て抽出)はしないで俺様関数を作って 俺様関数中で条件を満たすものピックアップしながらmaxを探すとかするんじゃないのか
79 名前:デフォルトの名無しさん mailto:sage [2018/01/15(月) 20:27:35.79 ID:uVak3BOk.net] >>74 最大値が複数ある場合に、標準関数で簡単に取得できる方法がないなら 自分で望みのことする関数なんかを作れだろうな
80 名前:遊園地 mailto:age [2018/01/16(火) 01:25:21.93 ID:/gUVmc1B.net] 最大値が複数有る時にmax要素を含むモノを返す処理 俺にも教えて。 l=[1,2,2,3,4,5,5,7,8,9,9] import collections x=collections.Counter(l) print(x)
81 名前:遊園地 mailto:age [2018/01/16(火) 01:36:02.64 ID:/gUVmc1B.net] どうすれば、いいんでちゅかぁ?wwwwwwwwww ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐ ┌(_Д_┌ )┐ from collections import Counter print( Counter('abracadabra').
82 名前:most_common(3) ) cnt = Counter() for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']: cnt[word] += 1 print(cnt) あぁ? ああああああああああああ あばばばばばばばばばあwwwww [] [ここ壊れてます]
83 名前:遊園地 mailto:age [2018/01/16(火) 03:20:20.16 ID:/gUVmc1B.net] 答え合わせのお時間でチュよぉおおおおおwww ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐ ┌(_Д_┌ )┐ import collections l='abbabacccddeee' r = collections.Counter(l) print (r.most_common(2))#取り出す個数wwwwwww あああああああああああああーーーーーーーーーーwwwwwwwww 取り出す個数を求めるの忘れて待ちたぁああああああwwwwwwww
84 名前:遊園地 mailto:age [2018/01/16(火) 04:05:37.35 ID:/gUVmc1B.net] はいっ! はいっ!! 「ハイ! ハイ!」 「ハイ! ハイ!」 ぶひいいいいいいいいいいwwwww 「アイィィィ!ポイ!ポイィィィ!」 「んっ! 」 「んっ!」 35歳 「あっ。あっああ。。。」 「あっ。あっああ。。。」 遊園地「ぶひいいいいいいいいいいwwwww」 ぬーぷ 「冬の大空に降り注ぐ彗星」 35歳&ぬーぷ&遊園地「 はいっ! はいっ!! 」 「ぶひいいいいいいいいいいwwwww」 ( ゚д゚ )クワッ!! ヘ(゚∀゚ヘ)アヒャ ┌(_Д_┌ )┐
85 名前:デフォルトの名無しさん mailto:sage [2018/01/16(火) 07:35:11.81 ID:4oyR/FiU.net] pythonがこの先生きのこるには mevius.5ch.net/test/read.cgi/tech/1167996371/
86 名前:デフォルトの名無しさん mailto:sage [2018/01/16(火) 09:23:58.14 .net] なんか怖い人が居るんだけど...
87 名前:デフォルトの名無しさん mailto:sage [2018/01/16(火) 13:38:54.40 ID:1yOH1J8J.net] 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
88 名前:遊園地 mailto:age [2018/01/16(火) 15:50:10.04 ID:/gUVmc1B.net] どうしても、言いたい事が有るので、聞いて下さい。 「氣持ちいぃいいいい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
89 名前:遊園地 mailto:age [2018/01/16(火) 15:57:30.63 ID:/gUVmc1B.net] 正規表現で実装する方が良いかも。 大丈夫だwっw 俺より凄い奴が出て来て助言してくれるぞwww ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐
90 名前:デフォルトの名無しさん [2018/01/16(火) 16:20:42.45 ID:qp2ox4Ew.net] >>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
91 名前:デフォルトの名無しさん mailto:sage [2018/01/16(火) 16:25:25.03 ID:ANYFrcmB.net] まずmaxを求めて 次にmaxと一致するものをリスト内包で抜き出すのが Python流の思想 同時にやろうとするのはC++の発想なので違う データベースの副問い合わせみたいなもんだな
92 名前:遊園地 mailto:age [2018/01/16(火) 18:39:09.09 ID:/gUVmc1B.net] >>86 公式ドキュメントに記載されてるコード エラーは基本ない。 https://ideone.com/rkTRuh
93 名前:デフォルトの名無しさん mailto:sage [2018/01/16(火) 18:45:08.51 ID:1yOH1J8J.net] >>83 のやり方なら、全要素を1回の走査で済むけど、バグる可能性が高くなるから、 一旦、最大値を求めてから、改めてその最大値を使っている要素を、探した方が良さそう。 ただし、このやり方では、2回の走査になる
94 名前:遊園地 mailto:age [2018/01/16(火) 19:06:05.28 ID:/gUVmc1B.net] 取り敢えず、動くモノはできた。 誰か 整形 はよぉおおおおおおおおおおおwwwwwwwww https://ideone.com/nAscvc もしくはぁああああwwww 誰か書き直してぇええええええええ
95 名前:遊園地 mailto:age [2018/01/16(火) 19:30:01.48 ID:/gUVmc1B.net] くだすれPython(超初心者用) その33©2ch.net 914 :デフォルトの名無しさん:2017/05/24(水) 17:14:04.97 ID:rw+7fc+A >>913 雪風は人間初心者だろ?死ねよ 俺を挑発した奴www 出てこいコノヤローーーーwwww
96 名前:デフォルトの名無しさん mailto:sage [2018/01/16(火) 19:59:16.13 .net] 何がしたいのかまとめてくれよ
97 名前:遊園地 mailto:age [2018/01/16(火) 20:14:53.61 ID:/gUVmc1B.net] 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
98 名前:デフォルトの名無しさん mailto:sage [2018/01/16(火) 22:29:00.66 ID:1yOH1J8J.net] 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]}
99 名前:94 mailto:sage [2018/01/16(火) 22:31:53.14 ID:1yOH1J8J.net] 94 は、間違い インデックスが取得できていない
100 名前:94 mailto:sage [2018/01/16(火) 23:50:04.19 ID:1yOH1J8J.net] 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]}
101 名前:94 mailto:sage [2018/01/17(水) 00:52:52.06 ID:oOmqXI7v.net] 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]}
102 名前:遊園地 mailto:sage [2018/01/17(水) 03:14:18.29 ID:M6pIuyeF.net] 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]} >>>
103 名前:遊園地 mailto:sage [2018/01/17(水) 03:16:41.94 ID:M6pIuyeF.net] 質疑応答 回答 が 有りました? 答えてくれて人に感謝ですぅううううwwwww ほわええええええ 「ほぇ? ほぇええええええええええええええええwwwww」
104 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 09:50:35.82 ID:tGzDYIkw.net] リスト内の要素に指定した文字列が含まれるのを検出したいとき F="ex" L=["exe","zip","tex"] for i in L: if i in F というような処理しか知らないんですが、普通
105 名前:ヘどうやるんでしょうか [] [ここ壊れてます]
106 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 10:29:50.20 ID:bWxGsVYn.net] 複数の環境でpythonを走らせるため、 if sys.version[0] == "2": print "hoge" else: print("hoge") というふうなコードを書いたのですが、python3で走らせようとしたら SyntaxError: Missing parentheses in call to 'print'. Did you mean print(txt)? と、実行時には無視されるはずのところで怒られます。どうすればよいでしょう.
107 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 11:00:53.63 ID:puvPFdX2.net] >>101 syntaxエラーは実行時のエラーじゃなくて コードを読み込むときに出るエラーだから実行時に無視されるところでも出ちゃうね 「インデントの数が間違ってる」とかと同じ exec関数を使って if sys.version[0] == "2": __exec('print "hoge"') とか考えてみた(ちょっと強引な気もするけど) 多分ちゃんとしたやり方はimport __future__で python3の機能をpython2でも使えるようにするもんだと思うけどね
108 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 11:13:56.25 ID:puvPFdX2.net] >>100 別にそのやり方でも問題ないと思うけど リスト内包表記を使うやり方もある [i for i in L if F in i] って感じで この場合「Lに含まれるアイテムiのうち、Fという言葉が含まれるものだけでリストを作る」って意味になり ["exe","tex"]っていうリストを一行で作ることができるから 検出した文字列に何か操作したりしたいときは便利かもしれない
109 名前:デフォルトの名無しさん [2018/01/17(水) 11:33:04.51 ID:wKG3wA1V.net] i for i
110 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 12:32:45.31 ID:tGzDYIkw.net] >>103 なるほど 勉強になります
111 名前:遊園地 mailto:age [2018/01/17(水) 16:47:12.76 ID:L6sUceLv.net] やりたい事が無い。 どうしよう。。。
112 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 17:06:57.48 ID:Gaok5e8Q.net] 音声ファイルを読み込んでそれのスペクトログラムを作りたいのですが やり方を教えてください
113 名前:デフォルトの名無しさん [2018/01/17(水) 17:54:25.88 ID:Iu2MWvIi.net] 概出
114 名前:デフォルトの名無しさん [2018/01/17(水) 18:43:16.63 ID:mMlmLaaw.net] 百人一首をテキストベースで、上の句から一文字ずつ表示されるようなことは出来ますでしょうか? 例えば、 はなのいろは うつりなけりな いたずらに という上の句がある場合、 は はな はなの というようにごく短い間隔で表示される量が増えて行きます。 これがもし可能なら、この句の下の句は、 わがみよにふる ながめせしまに なのですが、waとローマ字入力すると、OKで次の句に進むようにしたいです。 本当なら間違いの時の処理も考えたいのですが、一種の暗記カード的利用のためのプログラムを作ってみたいと思っています。 どなたかご教示いただけるとありがたく存じます。
115 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 19:47:01.24 ID:Bm/HPyIQ.net] x="とんかつ" y="とんかつ(ヒレ)" z=re.match(x,y) これは期待通りの動作なんですが x="とんかつ(ヒレ)" y="とんかつ(ヒレ)(大盛り)" z=re.match(x,y) だとNoneになります。どうしてでしょうか?
116 名前:遊園地 mailto:age [2018/01/17(水) 19:48:40.75 ID:L6sUceLv.net] マッチしてないからぜよ。
117 名前:遊園地 mailto:age [2018/01/17(水) 20:04:45.54 ID:L6sUceLv.net] re.match(x,y) 文字列の先頭で正規表現とマッチするか判定します。 多分rと() 括弧の違い import re z=re.match(r"とんかつ","とんかつ(藍蘭島)") print(z) if z: print (z.group())
118 名前:デフォルトの名無しさん [2018/01/17(水) 20:05:13.31 ID:L6sUceLv.net] <_sre.SRE_Match object; span=(0, 4), match='とんかつ'> とんかつ
119 名前:遊園地 mailto:age [2018/01/17(水) 20:09:16.23 ID:L6sUceLv.net] 検索側の()が邪魔してるな。
120 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 20:10:05.14 ID:aINj1+iA.net] >>110 半角括弧は正規表現のグループ化構成体。従って
121 名前:2番目のxをre.matchで使うと 単に「とんかつヒレ」を探し、ヒレの部分をグループに突っ込もうとする 正規表現の特殊文字をマッチさせるならバックスラッシュ(円記号\)でエスケープ [] [ここ壊れてます]
122 名前:デフォルトの名無しさん [2018/01/17(水) 20:14:53.84 ID:L6sUceLv.net] import re x="とんかつ(ヒレ)" y="とんかつ(ヒレ)(大盛り)" print (re.match(x,y) )
123 名前:遊園地 mailto:age [2018/01/17(水) 20:38:40.62 ID:L6sUceLv.net] 今日からお前は富士山だ!! おちんぽ おちんちんがぁああああああああああ おちんちんびーーーーむ!!!
124 名前:デフォルトの名無しさん mailto:sage [2018/01/17(水) 21:17:58.09 ID:Bm/HPyIQ.net] >>115 なるほど、よくわかりました 実は検索文字はジェネレーターでたくさん出てくるため状況に応じてエスケープ記号を挿入できないっぽかったので map(re.escape,テキストリスト)して上手くいきました どもでした
125 名前:デフォルトの名無しさん [2018/01/18(木) 02:55:54.46 ID:MkqD6lAI.net] >>109 北斗の拳でぐぐれ
126 名前:デフォルトの名無しさん [2018/01/18(木) 04:30:10.01 ID:HxtiIiOG.net] >>109 ファイルは自分で読み込んで。 https://ideone.com/gLSYKm
127 名前:デフォルトの名無しさん [2018/01/19(金) 01:15:22.49 ID:PdcBS2Hw.net] #!/usr/bin/python # -*- coding: utf-8 -*- html_body = """ <!DOCTYPE html> <html> <head> <meta charset="EUC-JP"> </head> <body> <h1>漢字かなカナ</h1> </body> </html> """ print(html_body) こんな感じでHTMLを出力したいのですが文字コードがshift_jisになってしまって文字化けします。 <meta charset="utf-8">でも同様です。 どうすれば正常に表示できますか?よろしくお願いします。