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/
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には関係ないよね
962 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 15:01:14.41 ID:qOhnl7Wk.net] ブヒョヒョヒョヒョッw operator.itemgetter使った例書いてみろよバーカ オレのより良くなるわけねーんだよバーカ 知ったかバカがww
963 名前:デフォルトの名無しさん [2017/12/18(月) 15:03:03.28 ID:ucgqtJiU.net] 流れぶった切って初心者の質問3つめすまん pipで暗号化だかなんだかのパッケージをインストールするのに pip install pycrypto って入力したんだがエラーになった 赤文字が言うにはimport setuptools,tokenize;_ file_ってことらしい(たぶん)んだけどどうすればいい?パソコン自体にも明るくないんで初歩的な質問だったらすまん
964 名前:デフォルトの名無しさん [2017/12/18(月) 15:04:12.98 ID:ucgqtJiU.net] Anacondaってのはインストールした たぶん出来てると思う
965 名前:デフォルトの名無しさん [2017/12/18(月) 15:15:46.03 ID:iOib+Cu3.net] >>913 >>935 そのまま、ソートできたりしますか?
966 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 15:29:33.59 ID:qOhnl7Wk.net] マジで君の葛藤 そんなに言うなら書いてやらぁ、import operator ・・はっ!? あいつのより一行増えちまうぅぅ・・operatorをimportするだけで負けちまうぅぅ どーすればいいんだあぁ マジで負けちまう、マジでマジでぇぇええ
967 名前:デフォルトの名無しさん [2017/12/18(月) 19:35:06.39 ID:uz+0MMm5.net] Scipy lecture notes は難しいなあ
968 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 20:23:19.81 ID:nEpzfrhn.net] >944 911 は、 lst = sorted(dic.items()) でキーの昇順のリストlstを作ることができるよ。
969 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 20:56:07.22 ID:ZPQd2a6K.net] >>912 英語読める人って憧れるわぁ 気が向けば、気力が続けば読破してみる♪
970 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 21:31:04.85 ID:80YjRLEJ.net] Excelに「Python」搭載検討 Microsoftがアンケート実施中 (ITmedia NEWS) [続きを読む]
971 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 21:31:19.95 ID:iOib+Cu3.net] >>947 なるほど。 どうもです。
972 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 22:41:16.62 ID:HvuqWaT5.net] >>949 matplotlibが使えるってことですかね。
973 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 22:50:47.06 ID:ORJoreTk.net] vbaで充分です
974 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 00:50:47.14 ID:DaMOUzIl.net] Microsoftの事だから、独自の実装てんこ盛りとかしそう
975 名前:デフォルトの名無しさん [2017/12/19(火) 01:50:12.54 ID:zg2/LW0i.net] 同じタブで開くにはどうしたら良いのでしょうか? 実行すると、同じウィンドウで開いてしまいます。 https://ideone.com/Rb3ecO
976 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 06:46:50.41 ID:eFD5MKDs.net] VB.NETかC#にすればいいのに
977 名前:デフォルトの名無しさん [2017/12/19(火) 07:05:30.29 ID:YlLsk3YD.net] Pythonでサーバー系の勉強をしたいんだけれども分かりやすい書籍知りませんか?
978 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 07:59:13.13 ID:LIEbtk9I.net] プロフェッショナルのやつ
979 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 08:36:34.83 ID:lTMrJ03e.net] >>955 俺もそう思ったけど、イミディエートウィンドでちょっと試しに実行したりするのはスクリプト言語の方がいいのかも スクリプト言語の中ではPythonは悪い選択じゃない
980 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 09:02:13.56 ID:I9cB5PBv.net] >>954 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 >>>
981 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 11:38:37.78 ID:I9cB5PBv.net] >>906 >>> 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)
982 名前:デフォルトの名無しさん [2017/12/19(火) 12:24:14.54 ID:R9z7S8/c.net] >>957 ありがとうございます Pythonプロフェッショナルプログラミング-第2版-株式会社ビープラウド ってやつでしょうか
983 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 13:40:41.77 ID:I9cB5PBv.net] >>960 もうちょっと速度評価してみた結果、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 >>>
984 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 22:15:34.47 ID:DaMOUzIl.net] >>898 これなんてどうかな? ttp://www.amazon.co.jp/gp/product/B074CZNCM9/
985 名前:952 mailto:sage [2017/12/20(水) 02:35:33.39 ID:TssXo4IA.net] >>959 遅れながら、ありがとうございます
986 名前:デフォルトの名無しさん [2017/12/20(水) 12:35:28.42 ID:TssXo4IA.net] こういう処理は一行で書けますか? for i in range(2): __if i==j: ____print('end') __for j in range(2): ____print(i,j,'',end='')
987 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:02:27.07 ID:oZWzOzRe.net] 2行目jが未定義でエラーになると思う
988 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:03:05.99 ID:NDzik5IP.net] 造作もなきこと!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='')""")
989 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:05:58.39 ID:TssXo4IA.net] jは0と言う事でお願いします
990 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:15:05.63 ID:NDzik5IP.net] 空白が潰れちゃったよから\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='')""")
991 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 14:07:50.11 ID:TssXo4IA.net] >>967 >>969 ありがとうございます。 exec("a = 5; b = 7; print(a+b)") と言う既述方法は知ってましたが、 制御分などの盛り込み方が不明だったので助かりました。 これで、制御分の横にコメント文を スペースで埋めて揃える作業をしなく良くなりました。
992 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 19:46:38.16 ID:SIAJ3GJG.net] インクリメントできないのがよくわからん
993 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 00:07:07.98 ID:d67IHLei.net] グラフ描画についてbokehとplotlyが気になるのですが,使っている方いらっしゃいますか?
994 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 00:17:01.47 ID:0vv650Fk.net] リスト内の要素を部分一致で検索したいのですが、どう書けば良いのでしょうか? 完全一致ならば上手くいくのですが…
995 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 00:33:32.51 ID:1OazE8Sd.net] # コメント コメント [[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))""")
996 名前:雪風,遊園地 mailto:sage [2017/12/21(木) 00:52:50.09 ID:1OazE8Sd.net] >>973 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()) ゆっきーは、頭が可笑しいので他の人に聞いて下さい。
997 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 00:54:34.31 ID:1OazE8Sd.net] 部分一致は正規表現しか思いつかない。
998 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 00:54:55.56 ID:sOyGlBrQ.net] >973 リスト内の要素を部分一致で検索する、というのが曖昧な表現なので、具体例で説明して欲しい ["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] を返すような関数を作りたいの?
999 名前:雪風,遊園地 mailto:sage [2017/12/21(木) 01:06:20.96 ID:1OazE8Sd.net] >>977 個人的に両方 欲しいです。
1000 名前:雪風,遊園地 mailto:sage [2017/12/21(木) 02:43:34.99 ID:1OazE8Sd.net] どうして、誰も作ってくれないのか? https://ideone.com/VOrwu8
1001 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 05:16:27.79 ID:tu5xSbQ7.net] >>979 結構やってること滅茶苦茶だねw
1002 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 08:50:58.63 ID:NvhGrRKb.net] >>973 , >>978 >>> list_1 = ["abc", "bcd", "xyz"] >>> list_2 = [[1,2,3], [2,3,4], [9,5,19,7,9]] >>> >>> import re >>> [i for i in list_1 if re.search(r'bc', i)] ['abc', 'bcd'] >>> >>> [i for i in list_2 if all(j in [0,1,2,3,4] for j in i)] [[1, 2, 3], [2, 3, 4]] >>>
1003 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 08:52:28.59 ID:NvhGrRKb.net] >>> [i for i in list_2 if any(j in [0,1,2,3] for j in i)] [[1, 2, 3], [2, 3, 4]] >>>
1004 名前:雪風,遊園地 mailto:sage [2017/12/21(木) 10:03:44.67 ID:1OazE8Sd.net] >>981 >>982 こっちの方がシンプルで良いですね。 ありがとうです ( ゚д゚ )クワッ!!
1005 名前:デフォルトの名無しさん [2017/12/21(木) 12:40:18.22 ID:MXajmGMH.net] うんこしたいよー もう漏れそうだ
1006 名前:デフォルトの名無しさん [2017/12/21(木) 21:48:50.35 ID:WjYU61tx.net] Pythonってプログラミング言語として難しいほう?
1007 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:52:19.91 ID:788cmMG6.net] とても簡単なほう
1008 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 21:53:39.57 ID:MavrGicq.net] 簡単というか平易
1009 名前:デフォルトの名無しさん mailto:sage [2017/12/21(木) 22:08:16.93 ID:812iswiX.net] 平易というか簡単
1010 名前:デフォルトの名無しさん [2017/12/22(金) 00:45:25.25 ID:7leJrkq3.net] 言語だけでも自分の3割り増しの実力のプログラムが作れる感じのノリが好き
1011 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 04:10:33.70 ID:pVzUn8R6.net] 動作 トランプデッキから5枚引いて、引いたカードをデッキから削除 手持ちのカードのマークをカウントする もっと、スタイリッシュに書き直してくれる人居ませんか? https://ideone.com/0bukfh
1012 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 05:39:58.07 ID:RZt5N+k9.net] スペードの1〜13・ハートの1〜13・クローバーの1〜13・ダイアの1〜13の順で、 1〜52のカードID をつけているから、 カードID を13で割って、その商と余りで、スートと数がわかる
1013 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 10:33:03.12 ID:RZt5N+k9.net] 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
1014 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 11:00:21.87 ID:2CqGXpCv.net] >>992 わざわざ通し番号から数字やスートを算出している合理性がない テクニカルな雰囲気な方法を思い付いて嬉しいのはわかるが、効率が悪く分かりにくいだけだから素直に別々に分けなさい
1015 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 11:08:48.16 ID:u2VnRzIy.net] >>998 イッツ スタイリッシュ https://ideone.com/8wE3TR
1016 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 11:09:46.97 ID:u2VnRzIy.net] >>990 イッツ スタイリッシュ https://ideone.com/8wE3TR
1017 名前:990 mailto:sage [2017/12/22(金) 12:03:54.91 ID:RZt5N+k9.net] >>993 カードクラスを作って、インスタンス毎に、カードの画像を持たせたりしても良いけど、 インスタンス毎に、スート・数を持たせるのは、メモリの無駄だろ ID から簡単に計算できるのだから、それらを計算値で返しても良いのじゃないか?
1018 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 12:09:53.68 ID:u7gWVCbQ.net] 普通は「わかりやすい」が正義だな
1019 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 12:42:42.17 ID:cZv5wUGB.net] 画像はflyweightになるだろ。 いちいちコピーすんのか?
1020 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 12:46:03.11 ID:sp7ymsVp.net] >>996 > インスタンス毎に、スート・数を持たせるのは、メモリの無駄だろ おじいさま今時はそう言うことを気にしなくてもよくなったのよ
1021 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 13:33:46.30 ID:u2VnRzIy.net] ふぅー 落ち着いたか、、大興奮・・あれ? ワイのもイジれや、ワイのもイジれや
1022 名前:988 mailto:sage [2017/12/22(金) 14:02:56.88 ID:pVzUn8R6.net] テラテイルでも聞いて来ましたが、色々有るようです。 https://ideone.com/Mg9oG7 次スレは>>1000 が建てて下さい。
1023 名前:デフォルトの名無しさん mailto:sage [2017/12/22(金) 14:21:38.28 ID:8mUBEZUB.net] >>1001 何故たてぬ 次スレ mevius.5ch.net/test/read.cgi/tech/1513919747/
1024 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 111日 21時間 36分 51秒
1025 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています