初心者で全く意味が分からなければ、whl形式のファイル落としてきてオフラインインストールするか、 他の人のアドバイス通りAnaconda環境に変えた方が楽だと思う 0376デフォルトの名無しさん垢版2018/02/15(木) 05:12:30.34ID:NCxYQEU4 初心者の学習用ならvisual studio入れた方がいいと思うよ インストーラでanaconda入るし interactiveの補完が優秀だから 0377デフォルトの名無しさん垢版2018/02/15(木) 12:05:36.58ID:ewI90HZW years=[“2015-04-11”,“2016-12-22”] みたいなリストから西暦の下二桁のリストを作成するとき pat=r‘[\d]{2}([\d]{2})‘ tes=[re.findall(pat,i)[0] for i in years] ってやってるんですけど、なんか違和感があります(欲しい形は出てくる) 本当はどうやるのがベターなんでしょうか 0378遊園地垢版2018/02/15(木) 12:42:58.62ID:DdWb+fDC years=["2015-04-11","2016-12-22"] for i in years: □print(i[2:4].split('-'))
遊園地なら余裕でイテラブルとイテレータの違いを説明できるから期待して待て 0407デフォルトの名無しさん垢版2018/02/16(金) 19:56:24.32ID:WNml02Hz iter()で返ってくるオブジェクトがiteratorで iter()によってiteratorを返すようなオブジェクトつまり__iter__()か__getitem__()を実装するようなオブジェクトがiterable objectってことじゃないの つまり[1, 2, 3]はiterable objectで iter([1, 2, 3])がiteratorだろう 0408デフォルトの名無しさん垢版2018/02/16(金) 20:27:54.04ID:MSGqnnUk 俺らのような超初心者は __iter__(),__getitem__(), __next__()のようなのを使うようなことしないだろう 0409デフォルトの名無しさん垢版2018/02/16(金) 20:28:23.55ID:T+iGynCY つまりどーゆーことだってばよ? 0410デフォルトの名無しさん垢版2018/02/16(金) 20:35:11.53ID:Yz3zJ/9Z シェルスクリプトなのか分からないけど、 import os for a in range(100) : os.system('python test.py') これで、必要な回数プログラム実行できるようになった。
このループを途中で終了したいときは、 どうやればいいんだろ? PyCharmてやつで、プログラム実行してるけど、 これを、いきなり閉じちゃうやりかたでもいい? 0411デフォルトの名無しさん垢版2018/02/16(金) 20:37:12.80ID:MSGqnnUk>>409 このスレでは上級者の>>407にしたって、ことじゃないの、だろう レベルでしかレスできない。 つまりこのスレではよく分からん、さっぱりわかりませんレベルと言うこと (自信をもってちゃんと用語の説明が出来るレベルにはないと) 0412デフォルトの名無しさん垢版2018/02/16(金) 20:39:23.63ID:bV6azCnv 知らずに使ってる 0413デフォルトの名無しさん垢版2018/02/16(金) 20:48:05.65ID:MSGqnnUk>>412 超超初級レベルの俺だって for X in YYYY なんかで、イテラブル・イテレータとかが関係している(?)のを使っているからな 0414デフォルトの名無しさん垢版2018/02/16(金) 21:20:06.11ID:WNml02Hz>>409 for i in iterable: みたいな文は実際にははじめにiter(iterable)が呼ばれて 返ってきたiterator(itとする)に対して StopIteration例外がraiseされるまでnext(it)を呼び出しその結果をそれぞれiに束縛するという動作をする なので普段意識しないでもiteratorは使っている
そう考えるとiterable objectとiteratorが一緒でもいいような感じがするし 実際generatorはiterableでありその上iterableでもある ただiterableとiteratorを分離してクラスの肥大化を防ぐためにそういう仕様になってるんじゃないか 0415デフォルトの名無しさん垢版2018/02/16(金) 21:38:25.20ID:WNml02Hz あとiteratorとiterableを分けることで複数回の反復が可能になるってのがあるな rangeはiterable objectだけどiteratorではないから r = range(100) for i in r: ____print(i) for i in r: ____print(i) はできるが generatorはiterable objectであり自分自身がiteratorだから g = (i for i in range(100)) for i in g: ____print(i) for i in g: ____print(i) は無理 0416デフォルトの名無しさん垢版2018/02/16(金) 21:41:13.26ID:T+iGynCY マジレスするとforの仕様ぐらい俺でも知ってるってばよ そーゆー事じゃねーだろ 0417デフォルトの名無しさん垢版2018/02/16(金) 21:54:29.76ID:PU4qYOCy そもそも違いを説明できるかって質問が意味不明 どちらもPythonのオブジェクトであること以外、何も同じじゃないだろ 0418デフォルトの名無しさん垢版2018/02/16(金) 22:00:15.05ID:WNml02Hz>>416 どういうこと? iterableとiteratorの違いの話では >>407でiterableとiteratorの違いは書いた >>414-415でiteratorのそもそもの意味、iteratorとiterableが別になっている意味について言及したんだけど 0419デフォルトの名無しさん垢版2018/02/16(金) 22:59:19.75ID:Yz3zJ/9Z PyCharmのツールバーに、 停止ボタン発見した! プログラム途中で辞める時は、このボタン押せばいいのか。 0420デフォルトの名無しさん垢版2018/02/16(金) 23:05:41.53ID:5HHWlQwe どの言語でもforループでbreakやcontinue使えない中級者がいるよね みんながんばれー 0421デフォルトの名無しさん垢版2018/02/16(金) 23:07:47.04ID:aWM8HJJf 文脈を理解しないでレスするアホ 0422デフォルトの名無しさん垢版2018/02/16(金) 23:25:21.33ID:S3mlGk95 >イテラブルとイテレータの違いを説明 イテラブルとイテレータについてきいているのであって Pythonでイテラブルやイテレータをどう実現するのか聞いているんじゃないんじゃないのか 俺自身、イテラブルやイテレータはほとんどわからん。 0423デフォルトの名無しさん垢版2018/02/16(金) 23:41:08.50ID:zuV+/SF8 ぶっちゃけ「オブジェクトの種類が多すぎ」という点からして要領を得ない iterableもiteratorもPythonドキュメントの用語集に明記されているし データモデルの特殊メソッド名なんか単なるインターフェイスに過ぎないだろう 0424デフォルトの名無しさん垢版2018/02/17(土) 00:05:27.82ID:srN4h2h/ どの言語でも初心者スレでいきなりiterator持ち出してドヤる上級者がいるよね みんな巣に帰れー 0425デフォルトの名無しさん垢版2018/02/17(土) 00:17:49.35ID:PRSXaLoF いやみんなお前程いろいろな初心者スレに精通してる訳じゃないから同意を求められてもw 0426デフォルトの名無しさん垢版2018/02/17(土) 00:30:22.56ID:DOQJ47ER 覚えたてで誰かに話したくてしょうがないんだろ w 0427デフォルトの名無しさん垢版2018/02/17(土) 00:36:00.95ID:PRSXaLoF>>426 突然何言ってんのアスペ君?