1 名前:デフォルトの名無しさん [2017/09/01(金) 16:44:47.30 ID:igIE9hK/.net] Pythonオフィシャルサイト www.python.org/ テンプレ等は2以降で ■前スレ Pythonのお勉強 Part53 mevius.2ch.net/test/read.cgi/tech/1494683284/
861 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 23:05:32.09 ID:OLIJtynp.net] なんでそんな使いづらそうな配列を作るのかわからん
862 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 23:35:19.17 ID:lJt3kOFt.net] >>838 そんなことしなきゃいけないロジックに問題があるのでは?
863 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 23:37:36.78 ID:k2/GOVIp.net] >>838 できましたぁ! >>> from collections import defaultdict >>> d = defaultdict(lambda:[]) >>> >>> d['A'] = [1,2,3] >>> d['A'] [1, 2, 3] >>> d['B'] [] >>> d['B'].append(3) >>> d['B'] [3] >>> d['C'] [] >>> d['Z'] [] >>>
864 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 00:29:52.15 ID:p6+oAblR.net] >>838 おそらくロジックを変えたほうが良いが、どうしてもというならできないこともない https://ideone.com/nj0ZjO
865 名前:デフォルトの名無しさん [2017/12/10(日) 05:19:39.14 ID:Ivp7Fyt3.net] グローバル汚すな
866 名前:遊園 mailto:sage [2017/12/10(日) 09:25:58.63 ID:DUp9AezH.net] A.append(123)とか書いたら name 'A' is not defined と出るので、仕方なく A=[] と毎回かいてる。 とりあえず、>>845 を使わせて頂きます。 ありがとうございました。
867 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 11:09:44.65 ID:tjvj99Q4.net] みんなこの質問でよくわかるな。質問の内容自体が理解できないわ。
868 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 11:28:26.23 ID:d0lTqA7N.net] >>847 なにいってだこいつ
869 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 11:50:08.90 ID:ye/uOlZy.net] 仕方なくと言われてもそういうもんなんです
870 名前:おはようござます。 [2017/12/10(日) 12:38:55.38 ID:9429WHjp.net] 質問なのですが pythonで書いたコードを実行中に 一分後にコードをすべて再実行するロジックを入れたいのですが どういったコードをかけばいいでしょうか
871 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 12:47:35.56 ID:ye/uOlZy.net] sleep()とかwait()みたいな関数なかったっけ
872 名前:おはようございます [2017/12/10(日) 12:53:54.45 ID:9429WHjp.net] sleep とかの 一時停止後の再実行ではなくて 計算したのをすべてなしにして 初めから再実行をかけたいんですよね こまってます
873 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 13:17:10.01 ID:Y1jO7k2o.net] djangoアップデートきたー
874 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 13:23:12.64 ID:ye/uOlZy.net] 普通に、1度目の処理は最後にsleep(60)が実行されて、2度目で終了するループ処理では駄目なの?
875 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 13:26:15.13 ID:rNGiIPu5.net] >>853 sleepからあけた後に勝手に一からやり直しゃいいと思うよ。 別に一分間隔でプロセス起動しても良いけど。
876 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 13:29:38.04 ID:uZvVO5M1.net] def unchi(): print ("unchi") t=threading.Timer(60, unchi) t.start()
877 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 14:51:53.96 ID:Z/uH3qH0.net] クラスの中でそのクラスのメソッドを呼びたいんだけど class Test(Parent): Test().func() def func(self): .... .... じゃだめなの? not defined のエラーが出る
878 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 15:00:44.42 ID:klwCxkV9.net] 駄目です
879 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 15:59:03.76 ID:rNGiIPu5.net] >>858 Parent.Func()
880 名前:デフォルトの名無しさん mailto:sage [2017/12/10(日) 16:59:02.05 ID:gQ55VXnr.net] あ、ごめ、クラス定義がコンストラクタに見えてた。
881 名前:デフォルトの名無しさん [2017/12/10(日) 17:31:27.35 ID:UOQUQi73.net] @staticmethod def func(self):
882 名前:デフォルトの名無しさん [2017/12/10(日) 17:31:52.03 ID:UOQUQi73.net] IDわろた
883 名前:デフォルトの名無しさん [2017/12/10(日) 17:32:30.40 ID:UOQUQi73.net] ああすまそ @staticmethod なら self いらんかった
884 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 02:13:40.72 ID:hBs7hPmg.net] >>860 >>862 やってみたけどだめだったorz
885 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 03:42:41.94 ID:hBs7hPmg.net] 自己レス、取りあえずインスタンス生成したとき1回呼ぶだけなんで以下でいいみたいだ
886 名前:。 class Test(Parent): def __init__(self,**kwargs): super(Test,self).__init__(**kwargs) self.func() def func(self): ..... ..... [] [ここ壊れてます]
887 名前:デフォルトの名無しさん [2017/12/11(月) 06:41:20.17 ID:4+bid6rw.net] ふつうはそうするが 別の理由があって聞いてるんだと思った
888 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 17:44:13.16 ID:3MG0X84S.net] >>700 csv_normal.pyがバージョン2.4.0にバージョンアップしたよ(https://ideone.com/u5Ji8H) Version: 2.4.0 ・csvデータを罫線で囲む機能を追加したよ(csvデータの可読性アップ) ・関数名などをスネークケースに統一したよ(コードの可読性アップ) ・関数、メソッドを沢山追加したよ(csvデータの処理機能アップ) ・数値リテラル内のアンダースコア表示に対応したよ(数値の可読性アップ ) 思いついた機能は全部入れたよ、頑張りすぎてコードが千行超えちゃったよw 目玉は罫線で囲む機能で、罫線パターンは簡単に自作できるようになっているよ 少し早いけどクリスマスプレゼントだよ
889 名前:デフォルトの名無しさん [2017/12/12(火) 18:05:44.87 ID:98iDbaWn.net] まだ続けとったんか メッチャよくなったやん
890 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 18:20:30.37 ID:FrwRWhMa.net] pypiに公開しておいた
891 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 21:45:38.63 ID:3MG0X84S.net] >>> import csv_normal as csv >>> s=''' 今日は何かめっちゃ褒められてますがな ところでまた機能を1つ思いついてしまった・・ この縦書き機能を・・天才かもしれん''' >>> c = csv.csv([list(string) for string in s.split('\n') if string]) >>> c.fill(); c.refresh_field(); c.replace_field('', ' ') >>> c.csv = c.csv[::-1]; c.csv = csv.row2column(c.csv) >>> c._display_delimiter='' >>> c.print() こと今 のこ日 縦ろは 書で何 きまか 機ため 能機っ を能ち ・をゃ ・ 1褒 天つめ 才思ら かいれ もつて しいま れてす んしが まな っ た ・ ・
892 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 16:02:33.73 ID:SHWRPW1I.net] ボタンを押したときに01〜03の関数を動かしたいんだけど、 btn.OnClick.Add(01,02,03) とかやってもうまくいかなくて、 btn.OnClick.Add(01) btn.OnClick.Add(02) btn.OnClick.Add(03) みたいにやらないといけない でもこれだと02や03が不安定で、動くときと動かない時がある どうすればいいでしょうか
893 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 17:49:16.91 ID:5NvkV9BJ.net] >>868 csv_normal.pyがバージョン2.5.0にバージョンアップしたよ(https://ux.getuploader.com/codes/download/6) Version: 2.5.0 ・print_idx2メソッドを追加したよ(インデックス表示+罫線で囲むからcsvデータが更に見やすくなるよ) ideoneサイトだとコード容量オーバーで貼り付けられなかったからコードアップローダーにアップしたよ ※Python3.6から追加された機能を使用しているから古いPythonだと動かないので注意だよ 👀 Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
894 名前:デフォルトの名無しさん [2017/12/13(水) 19:02:23.16 ID:b34l3iDJ.net] BBQおめ
895 名前:デフォルトの名無しさん mailto:sage [2017/12/13(水) 19:35:28.14 ID:X0jO0ehF.net] >>872 01-03の関数を大きな関数の中で呼び出して、btn.OnClick.Add() にはその大きな関数を渡せばいいんじゃないの
896 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 17:35:34.94 ID:snQTRBXR.net] >>873 えー226cmもあったんか!
897 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 18:31:20.18 ID:ehF4QImV.net] お構いなしに型変換して同じ変数にぶち込むスタイルのコーディングがいつまで経っても慣れんわ
898 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 19:24:56.33 ID:SQd1OlWL.net] 型はオブジェクト自身が持っている、変数は指しているだけ
899 名前:デフォルトの名無しさん [2017/12/14(木) 19:32:40.08 ID:oezENCsV.net] >>877 おまえ関数型勢に消されんぞ
900 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 19:56:37.07 ID:rn0SmpIP.net] 自分も変数なるべく使いまわしてるんだけどこれ速度と可読性の観点でどうなの?
901 名前:デフォルトの名無しさん [2017/12/14(木) 20:48:58.99 ID:vpKUBjgx.net] df何度も上書きして使いまわし
902 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 20:50:22.64 ID:2ncS4bon.net] Python使ってて小手先の最適化を気にしてる時点で馬鹿に分類されるよ
903 名前:デフォルトの名無しさん [2017/12/15(金) 00:17:15.09 ID:yw8gSH0I.net] for文をなるだけ使わないってのは速度の点で重要だけど 素直にc++なりで書いた方が慣れないうちは楽だなと思ったり
904 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 08:35:30.91 ID:qJ6ESGNh.net] >>882 お前が一番アホっぽいけどな
905 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 09:28:51.61 ID:llbK5PGi.net] 12時間頑張ってそれは草 まあ、ママは誉めてくれるんじゃね… よかったね
906 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 10:26:39.92 ID:c/LOcSA5.net] >>882 馬鹿そう
907 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 11:08:31.56 ID:Z44X65Q/.net] >>873 少し使ってみたけどデータはpandasよりも格段に見やすい データ抽出はpandasのqueryの方が簡潔で分かりやすい、csv_normalは冗長的だがPythonに慣れてる人はこっちでもいいかも データを枠で囲む機能はまあまあ気に入った 感想はこんな感じかな、なかなか良い出来だと思うよグラフ化することが無いならこっち使ってもいいかもな
908 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 14:57:01.36 ID:jrk+Uh93.net] いやいや変数の使い回しなんて小手先すぎるだろ… 勿論、コマ落ち防止でgc発生を絶対抑止しないといけないとか、変数使い回しが必要な場面もあるけどさ。 あえて書くまでもないことだけど、pythonに限らず、変数を使いまわして可読性メンテナンス性を下げるより、アルゴリズムを変えることを検討した方がいい
909 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 12:35:46.84 ID:2+3GS8kh.net] 使いまわす方が可読性が向上することもある
910 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 12:42:02.59 ID:LkzTWqEe.net] 可読性なんて所詮オナニーですよ
911 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 13:18:54.64 ID:9Fve7Q6b.net] 変数を使い回すということは、前のデータはいらないってこと、そして前のデータと意味は同じってこと baka = >>877 baka.ng() baka = >>888 baka.ng()
912 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 13:54:20.53 ID:MCFqyxDm.net] 変数使いまわさないと 事実上変数のスコープがずっと続いて読みづらいことある
913 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 13:56:22.78 ID:tthKlmuc.net] >>891 例えば"aの色"という変数があって、aの色が変わったのなら、当然もとの"aの色"変数に格納する。 これをそもそも使いまわしと言わない。 意味が違うのにデータがいらないという理由で使いまわしてるのなら話にならない。 >>889 何だって例外はあると思うよ。
914 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 14:08:56.31 ID:ZGZeB1Qj.net] どっちでも、バグ無く動けばいいという考え方じゃ駄目なん?
915 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 14:11:35.48 ID:MCFqyxDm.net] 規約という鎖で自分を縛って喜んでるのがたくさんいるんだ
916 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 14:15:44.99 ID:2+3GS8kh.net] >>893 設計思想によっては例外という割合ではない
917 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 14:18:48.89 ID:2+3GS8kh.net] >>894 ある程度の一貫性は欲しいかな
918 名前:ッじソースの部分部分で違うと読み間違えたり [] [ここ壊れてます]
919 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 14:28:57.77 ID:ttAmpR9c.net] オヌヌメのPython本は?
920 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 14:49:36.51 ID:9Fve7Q6b.net] >>893 せっかくbakaを例に出してんのに例を例で被せてくんなよバカ オマエの例でいえばbakaは"色"という変数だマヌケ "色"にaの色を格納して、いらなくなったから"色"にbの色を入れてんの そして色という意味は同じわけ、bakaの例みれば分かるだろ
921 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 15:35:32.16 ID:9Fve7Q6b.net] ちっ、せっかくカウンター用意してたのに噛みついてこいやぁ!! つまり変数の使い回しというのはfor文の変数だ for baka in (>>878 , >>888 , >>893 ): baka.ng() はい、論破ァーww
922 名前:デフォルトの名無しさん [2017/12/16(土) 18:30:11.61 ID:PKDI5VWV.net] 最近勉強始めたばっかの初心者なんだけど質問すまん これの下の方の二つの input って誤植だよね? 正しくは print であってる? imgur.com/fy1mnRS.jpg
923 名前:デフォルトの名無しさん [2017/12/16(土) 19:53:43.43 ID:PDgCh/4m.net] >>901 このコードをそのまま実行した場合と 該当箇所の input を print に書き換えて実行した場合を比較すればわかるけど 「そういう動作」を狙って著者さんがこう書いただけだと思う 初心者向けのサンプルプログラム以外で、こういう input() の使い方ってしないと思うけどね 出版社に問い合わせても図書カードとかはもらえなさそう
924 名前:デフォルトの名無しさん [2017/12/16(土) 19:58:38.21 ID:rq6V2ypo.net] kbhit()だな
925 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 22:39:15.57 ID:ArLhqftT.net] >>898 「みんなのPython 第4版、2017」が定本
926 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 22:44:27.43 ID:Q3oWoFk+.net] >>904 thx
927 名前:デフォルトの名無しさん mailto:age [2017/12/17(日) 00:11:06.04 ID:OP5LAhHm.net] 同じidなら結合して出力したい。 l=[['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']] 求める結果 id0 python id1 aiueo
928 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 00:12:07.62 ID:OP5LAhHm.net] おねがいします m(_ _;)m
929 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 00:31:52.24 ID:noPwurno.net] ttp://www.oreilly.co.jp/books/images/picture_large978-4-87311-778-2.jpeg
930 名前:デフォルトの名無しさん [2017/12/17(日) 00:56:13.28 ID:OP5LAhHm.net] coord = {'latitude': '37.24N', 'longitude': '-115.81W'} A01='Coordinates: {latitude}, {longitude}'.format(**coord) print(A01)
931 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 00:57:29.44 ID:/cDASRuF.net] グラフ描画はやっぱりseabornですかね? 他にお勧めのふつくしいパッケージあったら教えてください
932 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 01:01:08.99 ID:NZGyS71f.net] ary = [['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']] hash = {} ary.each_with_object(hash) do |(key, value), hash| if hash[key] hash[key] += value else hash[key] = value end end p hash #=> {"id0"=>"python", "id1"=>"aiueo"} Ruby で書いた https://paiza.io/projects/bbOPs6qzVV-5PLOrQ545IA
933 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 01:18:33.54 ID:mJFfsWjk.net] >>908 英語良ければ無料で公開されているこちらをどうぞ https://automatetheboringstuff.com/
934 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 06:37:55.25 ID:nW0iFIyL.net] >906 defaultdict 使うと楽だよ。 import collections l=[['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']] dic = collections.defaultdict(str) for k, v in l: dic[k] += v for k, v in dic.items(): print(k, v)
935 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 08:24:35.52 ID:VH1yLn0n.net] import seaborn as sns これ何でsnsにするの? sbが適当じゃない?? seaborn調べると皆snsにしている
936 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 11:08:28.09 ID:nW0iFIyL.net] Samuel Norman Seaborn っていう架空の人物が登場するテレビドラマがあって、それに掛けたジョークらしいよ
937 名前:904 mailto:sage [2017/12/17(日) 12:36:13.88 ID:OP5LAhHm.net] >>913 助かりました。ありがとうございます。
938 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 15:29:30.91 ID:mJFfsWjk.net] >>915 それ、昔NHKでもやってたの見てたわ
939 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 15:46:51.80 ID:VH1yLn0n.net] >>915 サンクス シャレてるからワイもsnsにするでぇー
940 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 16:00:03.29 ID:/cDASRuF.net] あれ?やっぱりみんなseabornなの? 他にあれば知りたい
941 名前:デフォルトの名無しさん [2017/12/17(日) 16:25:27.84 ID:GUabbIAG.net] プログラム初心者なんだけど質問第2すまん pip installについてなんだけど 教本通りにQRコードを生成するパッケージをインストールしたいんで pip install pillow qrcodeって入力したら Collecting pillow って出てきてずっと固まってる 時間経てばインストールし終わる?
942 名前:デフォルトの名無しさん [2017/12/17(日) 16:32:17.61 ID:XxtCNzg/.net] バージョンは
943 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 16:42:51.96 ID:VH1yLn0n.net] Windowsならコマンドプロンプトを起動するときに右クリック→"管理者として実行" で起動しないとpip install失敗するよん
944 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 16:45:46.85 ID:DptJao3l.net] requirements.txt と Pipfile のどちらを使うべき?
945 名前:デフォルトの名無しさん [2017/12/17(日) 17:01:02.18 ID:GUabbIAG.net] Microsoft Windows[Version 6.0.6002]って書いてある 管理者として実行も試してみたんだけどCollecting pillowから進まない うーん何か足りないんかな
946 名前:デフォルトの名無しさん [2017/12/17(日) 17:21:26.29 ID:XxtCNzg/.net] どっちにしろおま環だから何とも言えんが pillowがだめでもPIL入れてればいけるんじゃね
947 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 17:35:08.16 ID:VH1yLn0n.net] pip install pillow qrcode でインストールできたでぇー、QRコードも生成できた pythonのバージョンは3.6.1 pipのバージョンは9.0.1 Pillow(4.0.0)インストール済み
948 名前:デフォルトの名無しさん [2017/12/17(日) 18:12:47.56 ID:GUabbIAG.net] 解決した! 恥ずかしくて言えないくらい初歩的なミスだった…… すまん、ありがとうございました
949 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 18:56:07.30 ID:VH1yLn0n.net] csv_normal.pyがバージョン2.7.7にバージョンアップしたよ(https://ux.getuploader.com/codes/download/7) もう追加機能も思いつかないので、たぶんこれがファイナルバージョンとなるよ Version: 2.7.7 ・使用例の説明を改善 ・冗長性の改善(>>887 のご指摘を受けて) ・冗長な関数名、メソッド名、引数名などを簡潔に改名 ・ヘッダー情報を更に便利に簡単にアクセスできるように改善 ・メソッド追加 ・shapeメソッド - 行列のサイズを表示(pandasからパクった) ・print2メソッド - printメソッドよりさらに見やすい(罫線で囲むから) ・inquire_field_valueメソッド(>>906 もこれで解決) などなど あとがき: csv_normalは配列を配列のまま扱うことでPythonの強力な配列操作をそのまま利用でき 簡潔で直感的、習得も簡単ですぐに使用できる優れたモジュールとなりました 特にデータを罫線で囲んで表示する機能は秀逸で他に類をみない可読性を提供します これはpandas越えたわ・・ 👀 Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
950 名前:デフォルトの名無しさん mailto:sage [2017/12/17(日) 19:11:04.86 ID:VH1yLn0n.net] >>873 csv_normal.pyがバージョン2.7.7にバージョンアップしたよ(https://ux.getuploader.com/codes/download/7) もう追加機能も思いつかないので、たぶんこれがファイナルバージョンとなるよ Version: 2.7.7 ・使用例の説明を改善 ・冗長性の改善(>>887 のご指摘を受けて) ・冗長な関数名、メソッド名、引数名などを簡潔に改名 ・ヘッダー情報を更に便利に簡単にアクセスできるように改善 ・メソッド追加 ・shapeメソッド - 行列のサイズを表示(pandasからパクった) ・print2メソッド - printメソッドよりさらに見やすい(罫線で囲むから) ・inquire_field_valueメソッド(>>906 もこれで解決) などなど あとがき: csv_normalは配列を配列のまま扱うことでPythonの強力な配列操作をそのまま利用でき 簡潔で直感的、習得も簡単ですぐに使用できる優れたモジュールとなりました 特にデータを罫線で囲んで表示する機能は秀逸で他に類をみない可読性を提供します これはpandas越えたわ・・ 👀 Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
951 名前:デフォルトの名無しさん [2017/12/17(日) 19:17:52.67 ID:XxtCNzg/.net] test なんか専ブラの動きが変だな また仕様かわったか
952 名前:デフォルトの名無しさん [2017/12/18(月) 10:05:45.20 ID:vfjnbjyE.net] ライブラリをインストールしてチュートリアルのプログラムを一通り動かすまでに結構時間を消費しちゃう バージョンによってチュートリアルを結構改変しないと動かないのが多いし 魅力的なライブラリが多いけどそこまで直ぐに使えるようにはならないと思いましたまる
953 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 10:44:13.32 ID:qOhnl7Wk.net] バージョン変わる毎にメソッド名とかコロコロ変えすぎだよなRubyかよ
954 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 12:12:04.90 ID:AybSMTWc.net] 改変したチュートリアルをアップでアフリエイトがはかどるな
955 名前:デフォルトの名無しさん [2017/12/18(月) 12:30:50.45 ID:MRRIpNjB.net] >>911 どうせ書くなら、組み込みメソッドの Enumerable#inject と Hash#merge を 使った関数型プログラミングのスタイルが Ruby らしいのではないかと思われ https://ideone.com/v02Ldy for文のループをゴリゴリ回す手続き型プログラミングのスタイル(>>913 )とは対照的だね
956 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 13:49:20.75 ID:qOhnl7Wk.net] l=[['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']] from itertools import groupby for r in [(k, ''.join([item[1] for item in i])) for k,i in groupby(l, key=lambda x:x[0])]: print(*r) はい、オレが優勝
957 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 13:54:52.52 ID:kA+4TLLO.net] operator.itemgetterくらい使え
958 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 14:15:11.80 ID:qOhnl7Wk.net] ┐(´- ` )┌ ハッ、イテレータが欲しいのだよ、これだからググっただけの奴はw
959 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 14:23:14.65 ID:kA+4TLLO.net] それはひょっとしてギャグで言ってるのか!?
960 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 14:32:10.96 ID:qOhnl7Wk.net] あ、これ何も考えてない奴の常套句だわ 回答書けないならレス汚さないでくれる?
961 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 14:50:33.65 ID:kA+4TLLO.net] え?真面目に言ってるの?どのみちイテレータ返るでしょ、ジェネレータを言ってるにしてもジェネレータ式はないし リストが欲しいというならギリギリ分からなくもないが、それでもコールバックを与えるgroupbyには関係ないよね