Pythonオフィシャルサイト
http://www.python.org/
テンプレ等は2以降で
■前スレ
Pythonのお勉強 Part53
http://mevius.2ch.net/test/read.cgi/tech/1494683284/
探検
Pythonのお勉強 Part54 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2017/09/01(金) 16:44:47.30ID:igIE9hK/952デフォルトの名無しさん
2017/12/19(火) 01:50:12.54ID:zg2/LW0i953デフォルトの名無しさん
2017/12/19(火) 06:46:50.41ID:eFD5MKDs VB.NETかC#にすればいいのに
954デフォルトの名無しさん
2017/12/19(火) 07:05:30.29ID:YlLsk3YD Pythonでサーバー系の勉強をしたいんだけれども分かりやすい書籍知りませんか?
955デフォルトの名無しさん
2017/12/19(火) 07:59:13.13ID:LIEbtk9I プロフェッショナルのやつ
956デフォルトの名無しさん
2017/12/19(火) 08:36:34.83ID:lTMrJ03e957デフォルトの名無しさん
2017/12/19(火) 09:02:13.56ID:I9cB5PBv >>952
webbrowserのopen_new, open_new_tabは可能であれば新しいウィンドウ、新しいタブで開くという仕様
動作が同じということは不可能ということなのでsubprocessで直接ブラウザの実行ファイルを叩きましょう
chromeなら(参考: ttps://blogs.yahoo.co.jp/kerupani/15783349.html)
>>> import subprocess
>>> open_new = [r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe', '--new-window']
>>> open_new_tab =[r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe']
>>> url='https://ideone.com/Rb3ecO'
>>>
>>> subprocess.call(open_new + [url])
0
>>> subprocess.call(open_new_tab + [url])
0
>>>
webbrowserのopen_new, open_new_tabは可能であれば新しいウィンドウ、新しいタブで開くという仕様
動作が同じということは不可能ということなのでsubprocessで直接ブラウザの実行ファイルを叩きましょう
chromeなら(参考: ttps://blogs.yahoo.co.jp/kerupani/15783349.html)
>>> import subprocess
>>> open_new = [r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe', '--new-window']
>>> open_new_tab =[r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe']
>>> url='https://ideone.com/Rb3ecO'
>>>
>>> subprocess.call(open_new + [url])
0
>>> subprocess.call(open_new_tab + [url])
0
>>>
958デフォルトの名無しさん
2017/12/19(火) 11:38:37.78ID:I9cB5PBv >>904
>>> l = [['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']]
>>> for k,v in {id:[i[1] for i in l if i[0]==id] for id in dict(l).keys()}.items(): print(k, ''.join(v))
id0 python
id1 aiueo
>>>
リストlをidの数ぶんなめるからdefaultdict版よりも遅いのかな?と心配でしたが爆速でした
内包表記爆速でした(https://ideone.com/CQmM0C)
>>> l = [['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']]
>>> for k,v in {id:[i[1] for i in l if i[0]==id] for id in dict(l).keys()}.items(): print(k, ''.join(v))
id0 python
id1 aiueo
>>>
リストlをidの数ぶんなめるからdefaultdict版よりも遅いのかな?と心配でしたが爆速でした
内包表記爆速でした(https://ideone.com/CQmM0C)
959デフォルトの名無しさん
2017/12/19(火) 12:24:14.54ID:R9z7S8/c960デフォルトの名無しさん
2017/12/19(火) 13:40:41.77ID:I9cB5PBv >>958
もうちょっと速度評価してみた結果、idの種類が5で内包表記版とdefaultdict(list)版が同じくらいの処理速度になる
idの種類が増える毎にdefaultdict(list)版の方が速くなる、defaultdictの方が優れているね、分かりやすいし
Ruby版はどのくらい速いのかな?
>>> l=[[f'id{i}', 'hoge'] for i in range(5)]*10000
>>> with get_time():
d = {id:[i[1] for i in l if i[0]==id] for id in dict(l).keys()}
0.014081239700317383
>>> with get_time():
d = defaultdict(list)
for k,v in l: d[k].append(v)
0.014064788818359375
>>>
>>> l=[[f'id{i}', 'hoge'] for i in range(50)]*10000
>>> with get_time():
d = {id:[i[1] for i in l if i[0]==id] for id in dict(l).keys()}
1.0660841464996338
>>> with get_time():
d = defaultdict(list)
for k,v in l: d[k].append(v)
0.14391684532165527
>>>
もうちょっと速度評価してみた結果、idの種類が5で内包表記版とdefaultdict(list)版が同じくらいの処理速度になる
idの種類が増える毎にdefaultdict(list)版の方が速くなる、defaultdictの方が優れているね、分かりやすいし
Ruby版はどのくらい速いのかな?
>>> l=[[f'id{i}', 'hoge'] for i in range(5)]*10000
>>> with get_time():
d = {id:[i[1] for i in l if i[0]==id] for id in dict(l).keys()}
0.014081239700317383
>>> with get_time():
d = defaultdict(list)
for k,v in l: d[k].append(v)
0.014064788818359375
>>>
>>> l=[[f'id{i}', 'hoge'] for i in range(50)]*10000
>>> with get_time():
d = {id:[i[1] for i in l if i[0]==id] for id in dict(l).keys()}
1.0660841464996338
>>> with get_time():
d = defaultdict(list)
for k,v in l: d[k].append(v)
0.14391684532165527
>>>
961デフォルトの名無しさん
2017/12/19(火) 22:15:34.47ID:DaMOUzIl >>896これなんてどうかな?
ttp://www.amazon.co.jp/gp/product/B074CZNCM9/
ttp://www.amazon.co.jp/gp/product/B074CZNCM9/
963デフォルトの名無しさん
2017/12/20(水) 12:35:28.42ID:TssXo4IA こういう処理は一行で書けますか?
for i in range(2):
__if i==j:
____print('end')
__for j in range(2):
____print(i,j,'',end='')
for i in range(2):
__if i==j:
____print('end')
__for j in range(2):
____print(i,j,'',end='')
964デフォルトの名無しさん
2017/12/20(水) 13:02:27.07ID:oZWzOzRe 2行目jが未定義でエラーになると思う
965デフォルトの名無しさん
2017/12/20(水) 13:03:05.99ID:NDzik5IP 造作もなきこと!Pythonのテクニックを使えば多重ループを1行で書くことなど造作もなきこと!
exec("""j=None\nfor i in range(2):\n if i==j:\n print('end')\n for j in range(2):\n print(i,j,'',end='')""")
exec("""j=None\nfor i in range(2):\n if i==j:\n print('end')\n for j in range(2):\n print(i,j,'',end='')""")
966デフォルトの名無しさん
2017/12/20(水) 13:05:58.39ID:TssXo4IA jは0と言う事でお願いします
967デフォルトの名無しさん
2017/12/20(水) 13:15:05.63ID:NDzik5IP 空白が潰れちゃったよから\tに変更
exec("""j=0\nfor i in range(2):\n\tif i==j:\n\t\tprint('end')\n\tfor j in range(2):\n\t\tprint(i,j,'',end='')""")
exec("""j=0\nfor i in range(2):\n\tif i==j:\n\t\tprint('end')\n\tfor j in range(2):\n\t\tprint(i,j,'',end='')""")
968デフォルトの名無しさん
2017/12/20(水) 14:07:50.11ID:TssXo4IA969デフォルトの名無しさん
2017/12/20(水) 19:46:38.16ID:SIAJ3GJG インクリメントできないのがよくわからん
970デフォルトの名無しさん
2017/12/21(木) 00:07:07.98ID:d67IHLei グラフ描画についてbokehとplotlyが気になるのですが,使っている方いらっしゃいますか?
971デフォルトの名無しさん
2017/12/21(木) 00:17:01.47ID:0vv650Fk リスト内の要素を部分一致で検索したいのですが、どう書けば良いのでしょうか?
完全一致ならば上手くいくのですが…
完全一致ならば上手くいくのですが…
972デフォルトの名無しさん
2017/12/21(木) 00:33:32.51ID:1OazE8Sd # コメント コメント
[[l.append(i) for i in range(1,6)] for j in range(int(input()))]
exec("""print(l)\nfor i in l:\n\tif i==2:\n\t continue\n\tr.append(i)\nprint(i,'',end='')""")
exec("""def Sample0(x):\n\treturn x**2\nfor i in r:\n\tprint(Sample0(i))""")
[[l.append(i) for i in range(1,6)] for j in range(int(input()))]
exec("""print(l)\nfor i in l:\n\tif i==2:\n\t continue\n\tr.append(i)\nprint(i,'',end='')""")
exec("""def Sample0(x):\n\treturn x**2\nfor i in r:\n\tprint(Sample0(i))""")
973雪風,遊園地 ◆ExGQrDul2E
2017/12/21(木) 00:52:50.09ID:1OazE8Sd >>971
import re
l=['I']
r=['ABCDEFGHIJKLMNOPQRSTUVWXYZ']
#[print (match.group()) for match in re.finditer(l[0],r[0])]
for match in re.finditer(l[0],r[0]):
____print (match.group())
ゆっきーは、頭が可笑しいので他の人に聞いて下さい。
import re
l=['I']
r=['ABCDEFGHIJKLMNOPQRSTUVWXYZ']
#[print (match.group()) for match in re.finditer(l[0],r[0])]
for match in re.finditer(l[0],r[0]):
____print (match.group())
ゆっきーは、頭が可笑しいので他の人に聞いて下さい。
974デフォルトの名無しさん
2017/12/21(木) 00:54:34.31ID:1OazE8Sd 部分一致は正規表現しか思いつかない。
975デフォルトの名無しさん
2017/12/21(木) 00:54:55.56ID:sOyGlBrQ >971
リスト内の要素を部分一致で検索する、というのが曖昧な表現なので、具体例で説明して欲しい
["abc", "bcd", "xyz"]
があった時に、
"bc"を検索して、
["abc", "bcd"]
を返すような関数を作りたいの?
[1, 2, 3]と[2, 3, 4]と[9, 5, 19, 7, 9] があった時に、
[0, 1, 2, 3] を検索して、
[1, 2, 3] と[2, 3, 4] を返すような関数を作りたいの?
リスト内の要素を部分一致で検索する、というのが曖昧な表現なので、具体例で説明して欲しい
["abc", "bcd", "xyz"]
があった時に、
"bc"を検索して、
["abc", "bcd"]
を返すような関数を作りたいの?
[1, 2, 3]と[2, 3, 4]と[9, 5, 19, 7, 9] があった時に、
[0, 1, 2, 3] を検索して、
[1, 2, 3] と[2, 3, 4] を返すような関数を作りたいの?
977雪風,遊園地
2017/12/21(木) 02:43:34.99ID:1OazE8Sd978デフォルトの名無しさん
2017/12/21(木) 05:16:27.79ID:tu5xSbQ7 >>977
結構やってること滅茶苦茶だねw
結構やってること滅茶苦茶だねw
979デフォルトの名無しさん
2017/12/21(木) 08:50:58.63ID:NvhGrRKb980デフォルトの名無しさん
2017/12/21(木) 08:52:28.59ID:NvhGrRKb >>> [i for i in list_2 if any(j in [0,1,2,3] for j in i)]
[[1, 2, 3], [2, 3, 4]]
>>>
[[1, 2, 3], [2, 3, 4]]
>>>
982デフォルトの名無しさん
2017/12/21(木) 12:40:18.22ID:MXajmGMH うんこしたいよー
もう漏れそうだ
もう漏れそうだ
983デフォルトの名無しさん
2017/12/21(木) 21:48:50.35ID:WjYU61tx Pythonってプログラミング言語として難しいほう?
984デフォルトの名無しさん
2017/12/21(木) 21:52:19.91ID:788cmMG6 とても簡単なほう
985デフォルトの名無しさん
2017/12/21(木) 21:53:39.57ID:MavrGicq 簡単というか平易
986デフォルトの名無しさん
2017/12/21(木) 22:08:16.93ID:812iswiX 平易というか簡単
987デフォルトの名無しさん
2017/12/22(金) 00:45:25.25ID:7leJrkq3 言語だけでも自分の3割り増しの実力のプログラムが作れる感じのノリが好き
988デフォルトの名無しさん
2017/12/22(金) 04:10:33.70ID:pVzUn8R6 動作
トランプデッキから5枚引いて、引いたカードをデッキから削除
手持ちのカードのマークをカウントする
もっと、スタイリッシュに書き直してくれる人居ませんか?
https://ideone.com/0bukfh
トランプデッキから5枚引いて、引いたカードをデッキから削除
手持ちのカードのマークをカウントする
もっと、スタイリッシュに書き直してくれる人居ませんか?
https://ideone.com/0bukfh
989デフォルトの名無しさん
2017/12/22(金) 05:39:58.07ID:RZt5N+k9 スペードの1〜13・ハートの1〜13・クローバーの1〜13・ダイアの1〜13の順で、
1〜52のカードID をつけているから、
カードID を13で割って、その商と余りで、スートと数がわかる
1〜52のカードID をつけているから、
カードID を13で割って、その商と余りで、スートと数がわかる
990デフォルトの名無しさん
2017/12/22(金) 10:33:03.12ID:RZt5N+k9 def suit_and_number (card_id)
suit = card_id / 13
num = card_id % 13
if num == 0 then
num = 13
suit -= 1
end
return suit, num
end
ary = (1..52).to_a.shuffle!
(0..10).each do |i|
suit, num = suit_and_number (ary[i])
puts "id : #{ary[i]}, suit : #{suit}, num : #{num}"
end
Ruby でやった
https://paiza.io/projects/sJs_Ge5be9uq44J6SHoJdw
結果を並び替えたもの
id : 1, suit : 0, num : 1
id : 14, suit : 1, num : 1
id : 27, suit : 2, num : 1
id : 40, suit : 3, num : 1
id : 13, suit : 0, num : 13
id : 26, suit : 1, num : 13
id : 39, suit : 2, num : 13
id : 52, suit : 3, num : 13
suit = card_id / 13
num = card_id % 13
if num == 0 then
num = 13
suit -= 1
end
return suit, num
end
ary = (1..52).to_a.shuffle!
(0..10).each do |i|
suit, num = suit_and_number (ary[i])
puts "id : #{ary[i]}, suit : #{suit}, num : #{num}"
end
Ruby でやった
https://paiza.io/projects/sJs_Ge5be9uq44J6SHoJdw
結果を並び替えたもの
id : 1, suit : 0, num : 1
id : 14, suit : 1, num : 1
id : 27, suit : 2, num : 1
id : 40, suit : 3, num : 1
id : 13, suit : 0, num : 13
id : 26, suit : 1, num : 13
id : 39, suit : 2, num : 13
id : 52, suit : 3, num : 13
991デフォルトの名無しさん
2017/12/22(金) 11:00:21.87ID:2CqGXpCv992デフォルトの名無しさん
2017/12/22(金) 11:08:48.16ID:u2VnRzIy993デフォルトの名無しさん
2017/12/22(金) 11:09:46.97ID:u2VnRzIy994990
2017/12/22(金) 12:03:54.91ID:RZt5N+k9 >>991
カードクラスを作って、インスタンス毎に、カードの画像を持たせたりしても良いけど、
インスタンス毎に、スート・数を持たせるのは、メモリの無駄だろ
ID から簡単に計算できるのだから、それらを計算値で返しても良いのじゃないか?
カードクラスを作って、インスタンス毎に、カードの画像を持たせたりしても良いけど、
インスタンス毎に、スート・数を持たせるのは、メモリの無駄だろ
ID から簡単に計算できるのだから、それらを計算値で返しても良いのじゃないか?
995デフォルトの名無しさん
2017/12/22(金) 12:09:53.68ID:u7gWVCbQ 普通は「わかりやすい」が正義だな
996デフォルトの名無しさん
2017/12/22(金) 12:42:42.17ID:cZv5wUGB 画像はflyweightになるだろ。
いちいちコピーすんのか?
いちいちコピーすんのか?
997デフォルトの名無しさん
2017/12/22(金) 12:46:03.11ID:sp7ymsVp998デフォルトの名無しさん
2017/12/22(金) 13:33:46.30ID:u2VnRzIy ふぅー 落ち着いたか、、大興奮・・あれ? ワイのもイジれや、ワイのもイジれや
999988
2017/12/22(金) 14:02:56.88ID:pVzUn8R61000デフォルトの名無しさん
2017/12/22(金) 14:21:38.28ID:8mUBEZUB10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 111日 21時間 36分 51秒
新しいスレッドを立ててください。
life time: 111日 21時間 36分 51秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- 広島・廿日市、おこめ券配布せず 全市民に3000円現金給付へ [どどん★]
- 【悲報】マクベ大佐「いい音色だろ(壺を弾く)」僕副官「統一教会っすかw」マクベ大佐「北宋だ(怒)」 [616817505]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪★2
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- じゃあ何券だったら、日本人は満足したんだよ [452836546]
- お前らのボーナス額書いてけ
- 朝日新聞記者「中国軍のレーダー照射はこめかみに銃を突きつけられたのと同じ。僕なら反撃して撃墜してる」高市 [931948549]
