当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
↓等のてきとうなソースコード用うpろだに貼ってきてください。
スクショをImgur等にうp といった 手抜き(クソ行為)禁止。
ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/
〇前スレ〇
くだすれPython(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1571188632/
探検
くだすれPython(超初心者用) その46【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/01/02(木) 15:56:54.08ID:ZUrZA+uS495デフォルトの名無しさん
2020/02/06(木) 12:25:05.18ID:PruBe/51 >>492
他に使ってなさそうで欲しい属性分かってるんだったら
elems = html.select('img[data-iurl]')
これでよくね
あとfirefox10でも47でもないいい加減なUAはやめとけ
他に使ってなさそうで欲しい属性分かってるんだったら
elems = html.select('img[data-iurl]')
これでよくね
あとfirefox10でも47でもないいい加減なUAはやめとけ
496デフォルトの名無しさん
2020/02/06(木) 12:35:55.03ID:/hIhK6yv 要素を非同期処理で読み込むから、要素が存在しないとか、
サイトの構成が変わったとか、
XPath/CSS セレクターが間違っているとか、
相手がアクセスをブロックしてくるとか
スクレイピングは、相手のサイトを分析するのが難しいのと、
適切に限定される、セレクターを作るのが難しい
API が公開されているなら、APIを使った方がよい
漏れは、Ruby で、Selenium WebDriver, Nokogiri などで、
Chrome, Edge などのブラウザーを自動操作して、スクレイピングするけど
ここに書いておいた
【VBScript】WSHについて話し合うスレ【JScript】
https://mevius.5ch.net/test/read.cgi/tech/1578522041/24-27
サイトの構成が変わったとか、
XPath/CSS セレクターが間違っているとか、
相手がアクセスをブロックしてくるとか
スクレイピングは、相手のサイトを分析するのが難しいのと、
適切に限定される、セレクターを作るのが難しい
API が公開されているなら、APIを使った方がよい
漏れは、Ruby で、Selenium WebDriver, Nokogiri などで、
Chrome, Edge などのブラウザーを自動操作して、スクレイピングするけど
ここに書いておいた
【VBScript】WSHについて話し合うスレ【JScript】
https://mevius.5ch.net/test/read.cgi/tech/1578522041/24-27
497デフォルトの名無しさん
2020/02/06(木) 12:41:43.46ID:zAec24ND >>494
改行=\n または \r\n
改行=\n または \r\n
498496
2020/02/06(木) 12:45:42.46ID:/hIhK6yv >>492
Base64 は、HTML でもよく使う
Base64の文字列で、PNG/JPEG画像を、HTMLファイルに直接埋め込める
<img src="data:image/png;base64,xxxxx..." />
Base64 は、HTML でもよく使う
Base64の文字列で、PNG/JPEG画像を、HTMLファイルに直接埋め込める
<img src="data:image/png;base64,xxxxx..." />
499496
2020/02/06(木) 12:59:31.10ID:/hIhK6yv >>492
適切に、1つに限定される、セレクターを作るのが難しい!
以下で、特定できないのか?
class="rg_i Q4LuWd tx8vtf"
data-iid="0"
jsname="Q4LuWd"
それか、img 要素の外側で、id など、限定される要素を探すか。
基本的には、idを探さないと特定できない
idを振っていない場合は、そのサイト特有のルールを発見しないといけない!
例えば、5ch のスレ内では、id が無いから、
data-id に投稿番号が入っているので、それを使うとか
このように、相手のサイトを分析するのが難しい!
適切に、1つに限定される、セレクターを作るのが難しい!
以下で、特定できないのか?
class="rg_i Q4LuWd tx8vtf"
data-iid="0"
jsname="Q4LuWd"
それか、img 要素の外側で、id など、限定される要素を探すか。
基本的には、idを探さないと特定できない
idを振っていない場合は、そのサイト特有のルールを発見しないといけない!
例えば、5ch のスレ内では、id が無いから、
data-id に投稿番号が入っているので、それを使うとか
このように、相手のサイトを分析するのが難しい!
500デフォルトの名無しさん
2020/02/06(木) 13:30:53.32ID:GAMNd4TG >>495
firefoxのUA、修正します。すみませんでした;
そして、以下でやってみましたが
elems = html.select('img[data-iurl]')
なぜか出来ずに、うむむ…と申し訳ありません、さらに研究してみますが…
firefoxのUA、修正します。すみませんでした;
そして、以下でやってみましたが
elems = html.select('img[data-iurl]')
なぜか出来ずに、うむむ…と申し訳ありません、さらに研究してみますが…
501496
2020/02/06(木) 14:30:31.06ID:/hIhK6yv >>496
にも書いたけど、
要素をAjax で非同期処理に読み込むから、またimg 要素が存在しないとか?
Ruby で、Selenium WebDriver を使えば、要素が出現するまで、自動的にwait する。
await みたいに、非同期処理を同期的に書ける
にも書いたけど、
要素をAjax で非同期処理に読み込むから、またimg 要素が存在しないとか?
Ruby で、Selenium WebDriver を使えば、要素が出現するまで、自動的にwait する。
await みたいに、非同期処理を同期的に書ける
502496
2020/02/06(木) 14:34:29.34ID:/hIhK6yv もっと簡単に、10〜20 秒ぐらい、sleep したら、img 要素が出現しないのか?
503デフォルトの名無しさん
2020/02/06(木) 16:58:26.66ID:GAMNd4TG 一応成功致しました!
>>500
結果としてelems = html.select('img[data-iurl]')
で、このelemsとしては取れていたようです!
ここは元々elems = html.select('.rg_meta.notranslate')
であったと最初に出しましたが このelemsを
↓(適当〜8行くらい)
------------------
for ele in elems:
eledict = dict()
ele = ele.contents[0].replace('"','').split(',')
for e in ele:
num = e.find(':')
eledict[e[0:num]] = e[num+1:]
imageURL = eledict['ou']・・・・・
--------------
というような感じで使っていたのですが img[data-iurl]の今回? 目的のurl自体はスムーズに取れていたようで
for ele in elems:
imageURL = ele.get('data-iurl')
今回elemsのeleを ele.get('data-iurl') で、1枚づつ取ることができたようでした。
有難うございました!
>>500
結果としてelems = html.select('img[data-iurl]')
で、このelemsとしては取れていたようです!
ここは元々elems = html.select('.rg_meta.notranslate')
であったと最初に出しましたが このelemsを
↓(適当〜8行くらい)
------------------
for ele in elems:
eledict = dict()
ele = ele.contents[0].replace('"','').split(',')
for e in ele:
num = e.find(':')
eledict[e[0:num]] = e[num+1:]
imageURL = eledict['ou']・・・・・
--------------
というような感じで使っていたのですが img[data-iurl]の今回? 目的のurl自体はスムーズに取れていたようで
for ele in elems:
imageURL = ele.get('data-iurl')
今回elemsのeleを ele.get('data-iurl') で、1枚づつ取ることができたようでした。
有難うございました!
504デフォルトの名無しさん
2020/02/06(木) 20:03:36.02ID:bDkEju7l asyncioってわかる人いますか?
505デフォルトの名無しさん
2020/02/07(金) 07:27:17.45ID:cGGfIEk4 知ってるよ(どの程度を期待してるのか知らないけどな)
506デフォルトの名無しさん
2020/02/08(土) 07:30:51.90ID:u54KGCZV thread
threading
multiprocessing
concurrent.futures
asyncio
この辺の違いがよく分からない
threading
multiprocessing
concurrent.futures
asyncio
この辺の違いがよく分からない
507デフォルトの名無しさん
2020/02/08(土) 08:43:13.34ID:sQ9sQIGh >>506
それらはOSやCPUを自力で作れる神クラスの技術者でないと理解できないし、使いこなせないと思う
一般人である自分もドキュメントを読んでみたが、チンプンカンプン(死語)だった
さっさと忘れてPythonを楽しみましょう
それらはOSやCPUを自力で作れる神クラスの技術者でないと理解できないし、使いこなせないと思う
一般人である自分もドキュメントを読んでみたが、チンプンカンプン(死語)だった
さっさと忘れてPythonを楽しみましょう
508デフォルトの名無しさん
2020/02/08(土) 10:13:41.17ID:gJJFnkpu GUIやるなら、threadかasyncioのどちらかは必須。
509デフォルトの名無しさん
2020/02/08(土) 10:16:19.38ID:I0dCURwg プロセスとスレッドの違いは知っておいて損はない
510デフォルトの名無しさん
2020/02/08(土) 10:19:32.94ID:0YppiA+B GUIやるならC#+VisualStudioが一番
511デフォルトの名無しさん
2020/02/08(土) 10:26:34.58ID:iJq/sxyx Macにも持っていけるの?
>>510
>>510
512デフォルトの名無しさん
2020/02/08(土) 10:32:22.39ID:0YppiA+B Mac持ってないからわからん
俺は自分用ツールしか作ったことない
俺は自分用ツールしか作ったことない
513デフォルトの名無しさん
2020/02/08(土) 10:37:32.38ID:VCX1KXbd なんで情弱しか使わないMacに対応しなきゃいけないんですか!(半ギレ
514デフォルトの名無しさん
2020/02/08(土) 11:10:45.42ID:E/mrDwXz Windowsは情強だけ使っていればよろしい
515デフォルトの名無しさん
2020/02/08(土) 11:12:38.04ID:K7+uW5ie シェア一割のくせに態度だけ見てると九割くらいありそうだよなw
516デフォルトの名無しさん
2020/02/08(土) 12:15:26.33ID:E/mrDwXz Mac以外の残り9割の殆どがゴミ
517デフォルトの名無しさん
2020/02/08(土) 12:37:42.97ID:W0we+YOR 売れない芸人が一丁前に何か言ってるわ
518デフォルトの名無しさん
2020/02/08(土) 13:20:07.76ID:iJq/sxyx Windows/Mac/iOS/androidに対応したGUIを作ることができます
そう、pythonならね
そう、pythonならね
519デフォルトの名無しさん
2020/02/08(土) 13:33:43.29ID:9Nn74D/R React Native + Expo
アシアルのMonaca(Cordova/PhoneGap) + Onsen UI もある
アシアルのMonaca(Cordova/PhoneGap) + Onsen UI もある
520デフォルトの名無しさん
2020/02/08(土) 13:47:48.76ID:YnTe+96U 普通にWindowsで作ったC#はLinuxでもMacでもMonoで動くぞ
521デフォルトの名無しさん
2020/02/08(土) 13:48:05.92ID:YnTe+96U GUI含めて。
522デフォルトの名無しさん
2020/02/08(土) 14:36:46.22ID:FKWW677q >>520
.netcoreだよね?
.netcoreだよね?
523デフォルトの名無しさん
2020/02/08(土) 14:46:34.93ID:KXr/QwX0 Monoって書いてるだろ
524519
2020/02/08(土) 15:35:46.13ID:9Nn74D/R525デフォルトの名無しさん
2020/02/08(土) 16:54:09.53ID:DP9vcaNb >>515
ワロタ!(・∀・)
ワロタ!(・∀・)
526デフォルトの名無しさん
2020/02/08(土) 17:09:56.17ID:Gwq8LIiY Ruby禁止だけじゃなくMono/C#も禁止するか
527デフォルトの名無しさん
2020/02/08(土) 17:19:51.57ID:szXf7gpM qtって汚いよな
528デフォルトの名無しさん
2020/02/08(土) 17:28:08.83ID:uuv8oSvR RADツールもないもんな
知らんけど
知らんけど
529デフォルトの名無しさん
2020/02/08(土) 17:29:00.79ID:0wE1WgKD530デフォルトの名無しさん
2020/02/08(土) 17:46:35.97ID:Ewdvkn0R 世代交代しか訴えられないんじゃぁ、ぶてぃじぇっじもたいした候補じゃねーなぁ
531デフォルトの名無しさん
2020/02/08(土) 17:51:48.56ID:lxxY/dO6 やっぱ一番かっこいいのはkivy?
533デフォルトの名無しさん
2020/02/08(土) 21:53:48.06ID:tg7wd02h >>506
ソフトエンジニアならわからないと馬鹿にされるんだろうが
でも、この底辺スレに来る連中はエンジニアではなく低レベルのサンデープログラマが
ほとんどで分からない奴が大多数だろ(もちろん俺もわからん)
ソフトエンジニアならわからないと馬鹿にされるんだろうが
でも、この底辺スレに来る連中はエンジニアではなく低レベルのサンデープログラマが
ほとんどで分からない奴が大多数だろ(もちろん俺もわからん)
534デフォルトの名無しさん
2020/02/08(土) 22:16:28.53ID:DP9vcaNb >>506
プロセス(OSから見えてる単位)→スッドレ(プロセスの下にわさわさ増殖可能)→コア(CPUの部品)
1プロセス=1CPU
プロセスとプロセスの間の情報やり取りはゲキムズ&低速。
スッドレとスッドレの間はやり取りOKだけど、
メモリを奪い合わったり書き換えっこになったりしないように要注意。
あと、旧来は1スッドレ1コアが普通だったけど、
今は2スッドレ1コアが普通になりつつあり、
多スッドレ→1コアする場合はメモリ領域の扱いに注意が必要。
(どのスッドレも同時にみんな手をつないでゴール!を強要されない計算の場合は)
1つのプロセスからいっぱいスッドレわかせて計算するより、
いっぱいプロセス湧かせて順次まとめあげる方が、高速&効率が良いはずである。
だが、
多プロセス化するとメモリはもっさり消費される傾向なので、
ほんとのところは、
やりたいことが同期を強く求めてるかどうかと、マシンスペックによるのである。
プロセス(OSから見えてる単位)→スッドレ(プロセスの下にわさわさ増殖可能)→コア(CPUの部品)
1プロセス=1CPU
プロセスとプロセスの間の情報やり取りはゲキムズ&低速。
スッドレとスッドレの間はやり取りOKだけど、
メモリを奪い合わったり書き換えっこになったりしないように要注意。
あと、旧来は1スッドレ1コアが普通だったけど、
今は2スッドレ1コアが普通になりつつあり、
多スッドレ→1コアする場合はメモリ領域の扱いに注意が必要。
(どのスッドレも同時にみんな手をつないでゴール!を強要されない計算の場合は)
1つのプロセスからいっぱいスッドレわかせて計算するより、
いっぱいプロセス湧かせて順次まとめあげる方が、高速&効率が良いはずである。
だが、
多プロセス化するとメモリはもっさり消費される傾向なので、
ほんとのところは、
やりたいことが同期を強く求めてるかどうかと、マシンスペックによるのである。
535デフォルトの名無しさん
2020/02/08(土) 22:17:55.33ID:0YppiA+B 突っ込まないぞ
536デフォルトの名無しさん
2020/02/08(土) 22:18:40.14ID:0wE1WgKD スッドレスッドレ
(わさわさ)
(わさわさ)
537デフォルトの名無しさん
2020/02/08(土) 22:31:02.57ID:DP9vcaNb (つづき)
さきにあげた並行処理をPythonにさせるとき使うライブラリが506の質問であがってるさいしょの3ツ。
threading : スッドレをいっぱいわかせることができる(マルチスッドレ)
multiprocessing : プロセスを複数作れる
ケツ2つはやはり並行処理なのだが、
「ノンブロッキング処理」とゆうのをさせるためのもので、
投入されたPythonのバージョンが違う(concurrent.futuresの方が古い)のと、
とっつきやすさが違う(concurrent.futuresの方が人類にはとっつきやすい)。
これらを使うメリットがあるのは下の3条件を満たしてるとき。特に3についてはよく考えろ。
1.過程で、ボトルネックなクソ重い処理がある
2.それが何度もやってくる
3.ボトルネックの通過完了時刻が全部バラバラになってもおk(追い越しOK)で、
最終的にまとまればいい。
もっと詳しくは
ggってHitした↓でもよんでくれ。
ttps://qiita.com/icoxfog417/items/07cbf5110ca82629aca0
さきにあげた並行処理をPythonにさせるとき使うライブラリが506の質問であがってるさいしょの3ツ。
threading : スッドレをいっぱいわかせることができる(マルチスッドレ)
multiprocessing : プロセスを複数作れる
ケツ2つはやはり並行処理なのだが、
「ノンブロッキング処理」とゆうのをさせるためのもので、
投入されたPythonのバージョンが違う(concurrent.futuresの方が古い)のと、
とっつきやすさが違う(concurrent.futuresの方が人類にはとっつきやすい)。
これらを使うメリットがあるのは下の3条件を満たしてるとき。特に3についてはよく考えろ。
1.過程で、ボトルネックなクソ重い処理がある
2.それが何度もやってくる
3.ボトルネックの通過完了時刻が全部バラバラになってもおk(追い越しOK)で、
最終的にまとまればいい。
もっと詳しくは
ggってHitした↓でもよんでくれ。
ttps://qiita.com/icoxfog417/items/07cbf5110ca82629aca0
538デフォルトの名無しさん
2020/02/08(土) 22:31:57.71ID:DP9vcaNb ココハ ゴジャースナ(・∀・)スッドレ ダヨ!!!
539デフォルトの名無しさん
2020/02/09(日) 01:28:40.71ID:JzPk4jqf540デフォルトの名無しさん
2020/02/09(日) 07:52:13.11ID:CdDouLVX >>> (10).to_bytes(2,'big')
b'\x00\n'
期待している結果となりません。
b'\x00\x0a' にならないのは何故?
b'\x00\n'
期待している結果となりません。
b'\x00\x0a' にならないのは何故?
541デフォルトの名無しさん
2020/02/09(日) 08:44:46.73ID:vHnIKgeN >>540
ドキュメントのbyteオブジェクト関連の項目を読むと書いてあるが
文字として見せた方がわかりやすいと思われるバイト値は
16進ではなく文字で表示する方針なのだそうだ
だから値としては正しく格納されているので気にしなくてよろしい
ドキュメントのbyteオブジェクト関連の項目を読むと書いてあるが
文字として見せた方がわかりやすいと思われるバイト値は
16進ではなく文字で表示する方針なのだそうだ
だから値としては正しく格納されているので気にしなくてよろしい
542デフォルトの名無しさん
2020/02/09(日) 09:24:21.10ID:CdDouLVX543デフォルトの名無しさん
2020/02/09(日) 09:30:32.92ID:vHnIKgeN >>542
ところで、この(値).to_bytes()っていう書き方は初見なんだが
いつからある機能なんだろうか(自分の知識はver.3.3で止まっている)
JavaっぽくてPythonらしくないと感じるのだが
ところで、この(値).to_bytes()っていう書き方は初見なんだが
いつからある機能なんだろうか(自分の知識はver.3.3で止まっている)
JavaっぽくてPythonらしくないと感じるのだが
544デフォルトの名無しさん
2020/02/09(日) 09:51:55.28ID:CdDouLVX545デフォルトの名無しさん
2020/02/09(日) 10:38:09.30ID:hMxVM0F3 flaskでsms認証つけたいんですけど何がおすすめでしょうか?
アカウントにユーザーのメルアド、氏名、住所もつけておきたいです。
アカウントにユーザーのメルアド、氏名、住所もつけておきたいです。
546デフォルトの名無しさん
2020/02/09(日) 10:56:43.41ID:vHnIKgeN547デフォルトの名無しさん
2020/02/09(日) 11:03:20.76ID:uG+JJfG5 知識が増えただけで賢くはなって無いんじゃないの
548デフォルトの名無しさん
2020/02/09(日) 11:07:52.69ID:vHnIKgeN549デフォルトの名無しさん
2020/02/09(日) 11:26:42.55ID:uG+JJfG5 会話に茶々入れたくなければ公開掲示板なんかで聞かなきゃいいじゃん
つまりいくらでも茶々入れていいのが2ch5chでしょ
その基本を無視して俺ルールをいきなり押し付けられても困る
で、賢さってのは知識量のことなワケ?
つまりいくらでも茶々入れていいのが2ch5chでしょ
その基本を無視して俺ルールをいきなり押し付けられても困る
で、賢さってのは知識量のことなワケ?
550デフォルトの名無しさん
2020/02/09(日) 11:27:51.13ID:uG+JJfG5 だって「超初心者」が知識と賢さを混同してるらしいからね
ほっとけないね
ほっとけないね
551デフォルトの名無しさん
2020/02/09(日) 11:32:14.37ID:EbhgtQ51 >>539
>ハードウェアマルチスレッディングとソフトウェアによる通常のマルチスレッドをごちゃまぜに理解
そのようだ…
ありがとう
そしてありがとう
Pythonのライブラリでやれるのは
ソフトウェア的マルチスッドレだな
>ハードウェアマルチスレッディングとソフトウェアによる通常のマルチスレッドをごちゃまぜに理解
そのようだ…
ありがとう
そしてありがとう
Pythonのライブラリでやれるのは
ソフトウェア的マルチスッドレだな
552デフォルトの名無しさん
2020/02/09(日) 11:34:06.96ID:EbhgtQ51553デフォルトの名無しさん
2020/02/09(日) 12:11:02.39ID:vWZlCr2H list = [1,2,3,4,5,6,7,8,9,10]
というリストがあった場合
for i in list:
とするよりも
for i in set(list):
とする方が高速ですか?
それとも、setに変更しても元々がリストなので早くならないですか?
というリストがあった場合
for i in list:
とするよりも
for i in set(list):
とする方が高速ですか?
それとも、setに変更しても元々がリストなので早くならないですか?
554デフォルトの名無しさん
2020/02/09(日) 12:16:47.36ID:uG+JJfG5 一般的には想定される普通の使い方をする時に一番早くなるように言語を作る
それに間に一枚噛んでると遅くなる、と思うのが人間
あとは長さ10万くらいのリストを数千回試して時間を計る
それに間に一枚噛んでると遅くなる、と思うのが人間
あとは長さ10万くらいのリストを数千回試して時間を計る
555デフォルトの名無しさん
2020/02/09(日) 12:26:35.34ID:mfrF5HLR >>553
試すといいよ。ってのが正しいと思うけど、あえてマニュアルから。
https://docs.python.org/ja/3/reference/compound_stmts.html#the-for-statement
> 式リストは一度だけ評価されます。
ってあるから、ほぼ変わらんのでは?
試すといいよ。ってのが正しいと思うけど、あえてマニュアルから。
https://docs.python.org/ja/3/reference/compound_stmts.html#the-for-statement
> 式リストは一度だけ評価されます。
ってあるから、ほぼ変わらんのでは?
556デフォルトの名無しさん
2020/02/09(日) 12:44:06.57ID:zgc2MTJg list->setのコスト分だけ遅いだろ
557デフォルトの名無しさん
2020/02/09(日) 12:53:21.16ID:2kp9QhUs 論より証拠
昔の人は良いことを言った
昔の人は良いことを言った
558デフォルトの名無しさん
2020/02/09(日) 13:38:53.89ID:haksjRuS お前ら木偶の坊なんだから俺の疑問に答えて少しは世の中の役に立てよ
という意識があのような質問を生むのだ
という意識があのような質問を生むのだ
559デフォルトの名無しさん
2020/02/09(日) 14:44:11.09ID:KmTvxb40560デフォルトの名無しさん
2020/02/09(日) 14:49:31.50ID:KmTvxb40 sum(x for x in range(10))
sum([x for x in range(10)])
だった。
sum([x for x in range(10)])
だった。
561デフォルトの名無しさん
2020/02/09(日) 14:56:02.52ID:OACAfflF562デフォルトの名無しさん
2020/02/09(日) 15:22:07.62ID:O6Vx4x7H >>553
listをsetに変換するコストを無視してもsetをイテレートするほうが遅いよ
hash tableをイテレートする時に必要な処理とlistをイテレートする時に必要な処理の違い
といってもその差は微々たるものだから
その差が重要なプログラムを書こうとしてるなら言語を変えたほうがいいかも
listをsetに変換するコストを無視してもsetをイテレートするほうが遅いよ
hash tableをイテレートする時に必要な処理とlistをイテレートする時に必要な処理の違い
といってもその差は微々たるものだから
その差が重要なプログラムを書こうとしてるなら言語を変えたほうがいいかも
563デフォルトの名無しさん
2020/02/09(日) 15:35:28.11ID:vWZlCr2H564デフォルトの名無しさん
2020/02/09(日) 15:45:54.02ID:wTv3WydA565デフォルトの名無しさん
2020/02/09(日) 15:54:02.80ID:KmTvxb40 for i in set(list):
listのイテレートとsetのイテレートが発生するのと、一旦setのためのメモリが確保されるから、
setの重複排除機能が必要でない限り、100%無駄だと断言できる。
listのイテレートとsetのイテレートが発生するのと、一旦setのためのメモリが確保されるから、
setの重複排除機能が必要でない限り、100%無駄だと断言できる。
566デフォルトの名無しさん
2020/02/09(日) 16:12:45.54ID:O6Vx4x7H >>563
複数のやり方でどれが速いのか気になったら%timeitしよう
複数のやり方でどれが速いのか気になったら%timeitしよう
567デフォルトの名無しさん
2020/02/09(日) 16:14:09.61ID:wTv3WydA むしろforの中身を見直すか
numpyとか使うべき
ループはクソ遅い
numpyとか使うべき
ループはクソ遅い
568デフォルトの名無しさん
2020/02/09(日) 21:20:07.67ID:U6aZQoQk 質問者はリストにin演算子使うと遅いって話と混同してるんじゃないかと
そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが
そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが
569デフォルトの名無しさん
2020/02/09(日) 22:35:43.77ID:u7Xk0tZr570デフォルトの名無しさん
2020/02/09(日) 23:21:11.41ID:U6aZQoQk571デフォルトの名無しさん
2020/02/10(月) 00:00:12.89ID:NX1L632S >>568
リストをfor文を回してsetより速くする方法が他にあるってことですか?
リストをfor文を回してsetより速くする方法が他にあるってことですか?
572デフォルトの名無しさん
2020/02/10(月) 00:07:40.31ID:fRmEVRio >>570
リストって、毎回全要素をリニアサーチしているって事ですか?
リストって、毎回全要素をリニアサーチしているって事ですか?
573デフォルトの名無しさん
2020/02/10(月) 01:46:01.93ID:y8VN1gM7574デフォルトの名無しさん
2020/02/10(月) 07:54:06.49ID:NX1L632S >>573
なるほど、ありがとうございます
なるほど、ありがとうございます
575デフォルトの名無しさん
2020/02/10(月) 09:51:35.16ID:5lt6zYiz576デフォルトの名無しさん
2020/02/10(月) 09:58:28.58ID:8uBZGbTk577デフォルトの名無しさん
2020/02/10(月) 16:12:22.59ID:fRmEVRio 色々脱線はしているのかもしれないが、最初の質問は >>553 で
リストを処理するのに、そのままよりも、
setを噛ませた方が速くなるかどうか、ということであって
リストの内容は全件処理しているようだし
リストを処理するのに、そのままよりも、
setを噛ませた方が速くなるかどうか、ということであって
リストの内容は全件処理しているようだし
578デフォルトの名無しさん
2020/02/10(月) 17:20:59.87ID:8uBZGbTk なに意味不明なことうだうだ言ってんの
579デフォルトの名無しさん
2020/02/10(月) 17:29:20.70ID:fRmEVRio 568 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 21:20:07.67 ID:U6aZQoQk
質問者はリストにin演算子使うと遅いって話と混同してるんじゃないかと
そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが
570 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 23:21:11.41 ID:U6aZQoQk
>>569
setはハッシュ値で格納位置を一発で割り出す
リストは要素をすべて舐め回して探す
この辺の説明を ID:U6aZQoQk がちゃんとすれば良いんだと思う
質問者はリストにin演算子使うと遅いって話と混同してるんじゃないかと
そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが
570 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 23:21:11.41 ID:U6aZQoQk
>>569
setはハッシュ値で格納位置を一発で割り出す
リストは要素をすべて舐め回して探す
この辺の説明を ID:U6aZQoQk がちゃんとすれば良いんだと思う
580デフォルトの名無しさん
2020/02/10(月) 17:38:58.14ID:8uBZGbTk 逆になにがわからないのかわからないんだが
581デフォルトの名無しさん
2020/02/10(月) 17:42:34.83ID:fRmEVRio 分かるまで、みんなの話を聞いていたら
582デフォルトの名無しさん
2020/02/10(月) 17:44:23.19ID:fRmEVRio 553 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 12:11:02.39 ID:vWZlCr2H
list = [1,2,3,4,5,6,7,8,9,10]
というリストがあった場合
for i in list:
とするよりも
for i in set(list):
とする方が高速ですか?
それとも、setに変更しても元々がリストなので早くならないですか?
これが最初の質問
list = [1,2,3,4,5,6,7,8,9,10]
というリストがあった場合
for i in list:
とするよりも
for i in set(list):
とする方が高速ですか?
それとも、setに変更しても元々がリストなので早くならないですか?
これが最初の質問
583デフォルトの名無しさん
2020/02/10(月) 17:47:57.76ID:fRmEVRio この質問で想定される回答は
for i in set(list):の方が高速
どちらも変わらない
set 使わない方が高速
この三通りじゃないかと思うが
for i in set(list):の方が高速
どちらも変わらない
set 使わない方が高速
この三通りじゃないかと思うが
584デフォルトの名無しさん
2020/02/10(月) 17:55:55.56ID:cKG4UD69585デフォルトの名無しさん
2020/02/10(月) 17:59:57.44ID:cKG4UD69586デフォルトの名無しさん
2020/02/10(月) 18:20:13.36ID:fRmEVRio 回答までにしか興味は無いです
後は、妄想も含めた雑談なわけだし
後は、妄想も含めた雑談なわけだし
587デフォルトの名無しさん
2020/02/10(月) 18:21:49.94ID:8uBZGbTk588デフォルトの名無しさん
2020/02/10(月) 19:06:26.64ID:NX1L632S589デフォルトの名無しさん
2020/02/10(月) 19:34:40.34ID:TAH0RZ5f590デフォルトの名無しさん
2020/02/10(月) 19:44:21.91ID:fRmEVRio >>589
ハッシュキーが衝突したレコードが大量にあるとか、かな?
ハッシュキーが衝突したレコードが大量にあるとか、かな?
591デフォルトの名無しさん
2020/02/11(火) 10:10:26.19ID:QVEssOx9 ちっちゃい質問かもなんですが
かっこ閉じ際の位置ってpython的にはどこが良いですか?
例えば
def kakko(a,b):
____a+b
というdefを使うときに行の最後にかっこをつけるか
kakko(
____1+2+3+4,
____5+4+6+7)
改行してかっこの中のインデントに合わせるか
kakko(
____1+2+3+4,
____5+4+6+7
___)
kakkoのインデントに合わせるのか
kakko(
____1+2+3+4,
____5+4+6+7
)
かっこ閉じ際の位置ってpython的にはどこが良いですか?
例えば
def kakko(a,b):
____a+b
というdefを使うときに行の最後にかっこをつけるか
kakko(
____1+2+3+4,
____5+4+6+7)
改行してかっこの中のインデントに合わせるか
kakko(
____1+2+3+4,
____5+4+6+7
___)
kakkoのインデントに合わせるのか
kakko(
____1+2+3+4,
____5+4+6+7
)
592デフォルトの名無しさん
2020/02/11(火) 10:24:42.95ID:iLli/Di+ >>591
pythonの思想は1行で処理だから改行すな
pythonの思想は1行で処理だから改行すな
593デフォルトの名無しさん
2020/02/11(火) 10:30:13.65ID:KtXysiBK kakko(
____1+2+3+4,
____5+4+6+7)
または
kakko(1+2+3+4,
____5+4+6+7)
____1+2+3+4,
____5+4+6+7)
または
kakko(1+2+3+4,
____5+4+6+7)
594591
2020/02/11(火) 11:02:07.61ID:QVEssOx9■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★9 [BFU★]
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 植田日銀総裁 「円安進行が物価高を起こしている」 ★4 [お断り★]
- 高市首相が異例の“買春行為の罰則化の検討”に言及…世界では“買う側”に罰則を科すのが先進国のスタンダード ★2 [樽悶★]
- 【硬貨】500円だと思ったら「500ウォンが入っていた」価値は約10分の1 全国で飲食店などで“500ウォントラブル”相次いで報告 [ぐれ★]
