当スレに★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(超初心者用) その44【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1563969768/
探検
くだすれPython(超初心者用) その45【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
2019/10/16(水) 10:17:12.96ID:dCHq3Ix4
592デフォルトの名無しさん
2019/12/10(火) 13:06:22.84ID:6QYDHDQi 括弧が付いてると可読性が上がる
593デフォルトの名無しさん
2019/12/10(火) 13:28:31.47ID:uPxE4CgL カッコ悪い
594デフォルトの名無しさん
2019/12/10(火) 13:35:45.35ID:F3h+m1zk (E)!
595デフォルトの名無しさん
2019/12/10(火) 15:08:32.10ID:FE1Fen7q jsonファイアフォックスで見れば見やすいぞ
596デフォルトの名無しさん
2019/12/10(火) 15:46:55.98ID:6QYDHDQi よしなに整形してくれるからな
597デフォルトの名無しさん
2019/12/10(火) 15:57:56.29ID:48kVELqA >>589-591
msgpack
msgpack
598デフォルトの名無しさん
2019/12/10(火) 16:51:25.96ID:LOypIkS3 590の”可読性”はhuman-readableの意味で使ってんだろ
599デフォルトの名無しさん
2019/12/10(火) 17:23:44.99ID:eJPx3dnZ msgpackはJSON比で大して速くも小さくもない
人間による読み書きが可能であり大抵の言語で標準で扱えるというJSONのメリットを捨てるのに見合ったリターンはない
人間による読み書きが可能であり大抵の言語で標準で扱えるというJSONのメリットを捨てるのに見合ったリターンはない
600デフォルトの名無しさん
2019/12/10(火) 17:53:43.58ID:48kVELqA 充分小さいぞ
601デフォルトの名無しさん
2019/12/10(火) 18:12:40.55ID:eJPx3dnZ せいぜい50%程度を充分と思うかは貴方次第
私はそうは思いませんね
私はそうは思いませんね
602デフォルトの名無しさん
2019/12/10(火) 18:15:41.31ID:48kVELqA キーを何度も使いまわすのは無駄だと思う
603デフォルトの名無しさん
2019/12/10(火) 19:20:38.59ID:eJPx3dnZ msgpackが同じキーを何度も書いていないとでも?
604デフォルトの名無しさん
2019/12/10(火) 19:51:08.94ID:1ZU0zLKJ まあ一連のレスは無駄そうだな
605デフォルトの名無しさん
2019/12/10(火) 19:59:18.07ID:ORQYQVvI yokokara
606デフォルトの名無しさん
2019/12/10(火) 20:52:52.51ID:hzlCevra 可読性といえばxmlじゃないの
いやよく知りませんけど!
いやよく知りませんけど!
607デフォルトの名無しさん
2019/12/10(火) 20:56:35.79ID:6QYDHDQi 訳あってWordのdocument.xmlを読んだが非常に厳しい
608デフォルトの名無しさん
2019/12/11(水) 09:06:12.26ID:ZT47FwY4 >実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。
Python2.7.1 Windows 2000pro 開発環境はPython付属のIDLEです
Win32のクリップボードから取得した要素を、順番に辞書に渡しているのですが
「一番目、二番目」の順で渡したものが、「二番目、一番目」とひっくり返ったり
三つ渡すと「三番目、三番目、二番目」なんて順で保管されたりして、訳がわかりません
「辞書型オブジェクトには順序がありません」という話ではなくて
keyを使って取り出してみると整合してないのです
助言を頂ければありがたいです。
Python2.7.1 Windows 2000pro 開発環境はPython付属のIDLEです
Win32のクリップボードから取得した要素を、順番に辞書に渡しているのですが
「一番目、二番目」の順で渡したものが、「二番目、一番目」とひっくり返ったり
三つ渡すと「三番目、三番目、二番目」なんて順で保管されたりして、訳がわかりません
「辞書型オブジェクトには順序がありません」という話ではなくて
keyを使って取り出してみると整合してないのです
助言を頂ければありがたいです。
609デフォルトの名無しさん
2019/12/11(水) 09:07:29.80ID:ZT47FwY4 >>608
(続き)
(続き)
import win32com.client
import win32clipboard
def copy(text):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText( text, win32clipboard.CF_UNICODETEXT )
win32clipboard.CloseClipboard()
def paste():
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)
win32clipboard.CloseClipboard()
return data
oAutoIt = win32com.client.Dispatch("AutoItX3.Control")
#Windowsアプリケーションでカーソルを操作するためのAPIです
oAutoIt.WinActivate("とある請求書ソフトウェア - [xxx-xx-x.uqm]")
#APIは、とある請求書ソフトウェアが起動して、xxx-xx-x.uqmウィンドウが開くまで待機して、その後実行します
(続き)
(続き)
import win32com.client
import win32clipboard
def copy(text):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText( text, win32clipboard.CF_UNICODETEXT )
win32clipboard.CloseClipboard()
def paste():
win32clipboard.OpenClipboard()
data = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)
win32clipboard.CloseClipboard()
return data
oAutoIt = win32com.client.Dispatch("AutoItX3.Control")
#Windowsアプリケーションでカーソルを操作するためのAPIです
oAutoIt.WinActivate("とある請求書ソフトウェア - [xxx-xx-x.uqm]")
#APIは、とある請求書ソフトウェアが起動して、xxx-xx-x.uqmウィンドウが開くまで待機して、その後実行します
610デフォルトの名無しさん
2019/12/11(水) 09:08:21.34ID:ZT47FwY4 >>609
(続き)
dic = {}
oAutoIt.MouseClick("left",91,369,3)
oAutoIt.MouseClick("left",654,65,1)
#とある請求書ソフトウェアから"AAAAA"をコピーしてきます
dic ["key"] = paste()
oAutoIt.MouseClick("left",345,367,1)
oAutoIt.MouseClick("left",649,62,1)
#とある請求書ソフトウェアから"BBBBB"をコピーしてきます
dic ["key2"] = paste()
A = (dic["key"])
print(A)
B = (dic["key2"])
print(B)
#print結果
============RESTART============
>>>
BBBBB
AAAAA
>>>
(続き)
dic = {}
oAutoIt.MouseClick("left",91,369,3)
oAutoIt.MouseClick("left",654,65,1)
#とある請求書ソフトウェアから"AAAAA"をコピーしてきます
dic ["key"] = paste()
oAutoIt.MouseClick("left",345,367,1)
oAutoIt.MouseClick("left",649,62,1)
#とある請求書ソフトウェアから"BBBBB"をコピーしてきます
dic ["key2"] = paste()
A = (dic["key"])
print(A)
B = (dic["key2"])
print(B)
#print結果
============RESTART============
>>>
BBBBB
AAAAA
>>>
611デフォルトの名無しさん
2019/12/11(水) 09:33:54.19ID:cSF0k0t2 >>610
そのAPIは知らんけど、copy関数使われてなくない?
そのAPIは知らんけど、copy関数使われてなくない?
612デフォルトの名無しさん
2019/12/11(水) 09:40:31.18ID:ZT47FwY4 >>610
Windowsのクリップボードを監視した感触では、
とある請求書ソフトウェアからは、正しい順番でコピーされている様子です
ペースト関数を、一回しか使わない場合は、正常動作します。
素人ながら、なんか、定義済の変数に新しい値が代入されるとき
前後でメモリの処理がまずくなっているのかなと思いました
グローバル変数とかローカル変数とか、そっちの問題なんだろうかと、それらの勉強も始めましたが
まだまださっぱりわかりません
助言だけでもいただければありがたいです
Windowsのクリップボードを監視した感触では、
とある請求書ソフトウェアからは、正しい順番でコピーされている様子です
ペースト関数を、一回しか使わない場合は、正常動作します。
素人ながら、なんか、定義済の変数に新しい値が代入されるとき
前後でメモリの処理がまずくなっているのかなと思いました
グローバル変数とかローカル変数とか、そっちの問題なんだろうかと、それらの勉強も始めましたが
まだまださっぱりわかりません
助言だけでもいただければありがたいです
613デフォルトの名無しさん
2019/12/11(水) 09:43:31.13ID:ZT47FwY4 >>611
そうですね。copy関数は使われてないですね
参考元では、copyとpasteがペアで表記されていたので
もしかして改善するときに必要になるかな?と思って、念のためにあげました
失礼しました
そうですね。copy関数は使われてないですね
参考元では、copyとpasteがペアで表記されていたので
もしかして改善するときに必要になるかな?と思って、念のためにあげました
失礼しました
614デフォルトの名無しさん
2019/12/11(水) 09:51:14.90ID:cSF0k0t2615デフォルトの名無しさん
2019/12/11(水) 09:58:47.72ID:ZT47FwY4 >614
copy関数使わないで、コピーはどうしてるの?
「とある請求書ソフトウェア」は、画面上に「COPY」というボタンがありまして
それを一回クリックしてます
するとWindowsのクリップボードに、テキストが入ってきます
copy関数使わないで、コピーはどうしてるの?
「とある請求書ソフトウェア」は、画面上に「COPY」というボタンがありまして
それを一回クリックしてます
するとWindowsのクリップボードに、テキストが入ってきます
616デフォルトの名無しさん
2019/12/11(水) 10:12:58.03ID:Z8/OjH57 sleepないときつくない?
617デフォルトの名無しさん
2019/12/11(水) 10:47:34.44ID:pFOdIusR >>608
3.6までの辞書は
「とにかく出てくる順番はテキトー 気分次第」になるぞ。
keyがうんたらなんたらとかいうレベルではなく。
いやorこまるなら3.7系にするか
標準で装備されてるcollectionsモジュールの「OrderedDict」(これは2.7系から使える)を使う
3.6までの辞書は
「とにかく出てくる順番はテキトー 気分次第」になるぞ。
keyがうんたらなんたらとかいうレベルではなく。
いやorこまるなら3.7系にするか
標準で装備されてるcollectionsモジュールの「OrderedDict」(これは2.7系から使える)を使う
618デフォルトの名無しさん
2019/12/11(水) 10:48:31.78ID:ZT47FwY4 >>616
後出しですみません
import time
time.sleep(0.3)
#0.3〜3までいくつか検討
結果
time.sleep(3)
AAAAA
近くにある命令が辞書に入ってくる
不思議な現象が起きております
環境が悪いんですかね
後出しですみません
import time
time.sleep(0.3)
#0.3〜3までいくつか検討
結果
time.sleep(3)
AAAAA
近くにある命令が辞書に入ってくる
不思議な現象が起きております
環境が悪いんですかね
619デフォルトの名無しさん
2019/12/11(水) 10:50:17.51ID:b0NSAXs1 >>610
A = (dic["key"])
print(A)
B = (dic["key2"])
print(B)
これを、Ruby の式展開、JavaScript のテンプレート・リテラルみたいに、もっと分かりやすく書けないか?
puts "A の値は : #{ A }"
print結果が、単にタイミングの問題で、
後にprintされたものが、先に表示されているだけかも知れない
A = (dic["key"])
print(A)
B = (dic["key2"])
print(B)
これを、Ruby の式展開、JavaScript のテンプレート・リテラルみたいに、もっと分かりやすく書けないか?
puts "A の値は : #{ A }"
print結果が、単にタイミングの問題で、
後にprintされたものが、先に表示されているだけかも知れない
620デフォルトの名無しさん
2019/12/11(水) 10:56:31.99ID:PLslpcOL ループが理解できない(´;ω;`)
621デフォルトの名無しさん
2019/12/11(水) 10:57:06.73ID:ZT47FwY4622デフォルトの名無しさん
2019/12/11(水) 11:01:37.93ID:ZT47FwY4 >>619
>これを、Ruby の式展開、JavaScript のテンプレート・リテラルみたいに、もっと分かりやすく書けないか?
すみません。今の私の技術では限界です
ソースにふりがなのついた参考書と、赤い表紙の本を手引きにしてるレベルです
>後にprintされたものが、先に表示されているだけかも知れない
探ってみます
>これを、Ruby の式展開、JavaScript のテンプレート・リテラルみたいに、もっと分かりやすく書けないか?
すみません。今の私の技術では限界です
ソースにふりがなのついた参考書と、赤い表紙の本を手引きにしてるレベルです
>後にprintされたものが、先に表示されているだけかも知れない
探ってみます
623デフォルトの名無しさん
2019/12/11(水) 11:17:42.24ID:pFOdIusR >>620
ループといってもいろいろあるので
https://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%BC%E3%83%97_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
↑このへんから辿って勉強しる
ループといってもいろいろあるので
https://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%BC%E3%83%97_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
↑このへんから辿って勉強しる
624デフォルトの名無しさん
2019/12/11(水) 11:18:43.26ID:pFOdIusR625デフォルトの名無しさん
2019/12/11(水) 12:22:25.53ID:fWs5lM4b626デフォルトの名無しさん
2019/12/11(水) 12:29:51.76ID:pFOdIusR627デフォルトの名無しさん
2019/12/11(水) 12:44:29.61ID:8OP/pbId dataの参照を取り出してるだけで
dataの中身を取り出してないから
printするときに逆になるんじゃね
知らんけど
dataの中身を取り出してないから
printするときに逆になるんじゃね
知らんけど
628デフォルトの名無しさん
2019/12/11(水) 12:48:31.95ID:ZT47FwY4 >>625
>sleepどこに書いたの?
>MouseClickした後paste呼ぶ間に入れてみれ
pasteの後に入れてました
1回目と2回目のコピペの間で、休ませれば正常動作するかな?と思いまして
そして、はー。これが正解でした
sleepの位置も大事なんですね
ありがとうございました
みなさんもありがとうございました
>sleepどこに書いたの?
>MouseClickした後paste呼ぶ間に入れてみれ
pasteの後に入れてました
1回目と2回目のコピペの間で、休ませれば正常動作するかな?と思いまして
そして、はー。これが正解でした
sleepの位置も大事なんですね
ありがとうございました
みなさんもありがとうございました
629デフォルトの名無しさん
2019/12/11(水) 12:53:40.70ID:Z8/OjH57 AutoItからの移行組だと思ったけどあれじゃAutoItの時も動かないはずだが
630デフォルトの名無しさん
2019/12/11(水) 15:59:30.28ID:PLslpcOL https://ideone.com/qx5CEY
このコードの1つ目だと、1列目の行にしかアクセスできてないです
しかし、2つ目のようにarray[x][y]とすると、2つめの行までアクセスできています
しかし、yループは1度しか回していません
xを先に書くとxがyループの取り出しに使われるのですか?
このコードの1つ目だと、1列目の行にしかアクセスできてないです
しかし、2つ目のようにarray[x][y]とすると、2つめの行までアクセスできています
しかし、yループは1度しか回していません
xを先に書くとxがyループの取り出しに使われるのですか?
631デフォルトの名無しさん
2019/12/11(水) 16:03:10.35ID:8OP/pbId 何を意図してるかにもよるが
縦(行)をyと考えてるなら
array[y][x] でアクセスするべき
君がやりたければ
array[x][y] でも構わないが
y は横(列)になるってだけ
縦(行)をyと考えてるなら
array[y][x] でアクセスするべき
君がやりたければ
array[x][y] でも構わないが
y は横(列)になるってだけ
632デフォルトの名無しさん
2019/12/11(水) 16:08:47.02ID:H3x5MOt+ >>610
printデバッグとデバッガのステップ実行を使うといいよ
両方組み合わせればタイミングが原因かどうかはだいだい切り分けられる
今回の例ならpaste関数のreturnの前にprint(“paste data: ”, data)を入れて
dic[“key”] = paste()の直前か直後にブレイクポイントを設定してステップ実行する
printデバッグとデバッガのステップ実行を使うといいよ
両方組み合わせればタイミングが原因かどうかはだいだい切り分けられる
今回の例ならpaste関数のreturnの前にprint(“paste data: ”, data)を入れて
dic[“key”] = paste()の直前か直後にブレイクポイントを設定してステップ実行する
633デフォルトの名無しさん
2019/12/11(水) 16:10:35.08ID:cSF0k0t2 >>630
ループ以前に配列を理解していない。
2つ目のはy値はずっと0でx値は0,1と変化している。
print(array[0][0])、print(array[1][0])と実行していることになる。
ループ以前に配列を理解していない。
2つ目のはy値はずっと0でx値は0,1と変化している。
print(array[0][0])、print(array[1][0])と実行していることになる。
634デフォルトの名無しさん
2019/12/11(水) 16:19:15.69ID:H3x5MOt+ >>630
array = [ [1,2], [3,4] ]
このarrayは1つ目の要素が[1,2]、2つ目の要素が[3,4]
だからarray[0]は[1,2]で、array[1]は[3,4]
array[0][0]は[1,2]の1つ目の要素なので1
array[0][1]は[1,2]の2つ目の要素なので2
for y in range(10):とするとyという変数に
0から9まで(10は含まない)を代入しつつループの中の処理を実行する
ループ内でyを参照したらそのループ開始時に代入された値が入ってる
xやyじゃなくfor i in range(10)と書いても同じ
xやyに特別な意味があるわけじゃない
array = [ [1,2], [3,4] ]
このarrayは1つ目の要素が[1,2]、2つ目の要素が[3,4]
だからarray[0]は[1,2]で、array[1]は[3,4]
array[0][0]は[1,2]の1つ目の要素なので1
array[0][1]は[1,2]の2つ目の要素なので2
for y in range(10):とするとyという変数に
0から9まで(10は含まない)を代入しつつループの中の処理を実行する
ループ内でyを参照したらそのループ開始時に代入された値が入ってる
xやyじゃなくfor i in range(10)と書いても同じ
xやyに特別な意味があるわけじゃない
635デフォルトの名無しさん
2019/12/11(水) 16:27:38.36ID:PLslpcOL636デフォルトの名無しさん
2019/12/11(水) 17:01:24.49ID:wQahrCJY637デフォルトの名無しさん
2019/12/11(水) 18:26:22.83ID:BSd1dztf さすがにOSアップデートしろよwww
そんな化石使ってる時点で話にならない
そんな化石使ってる時点で話にならない
638デフォルトの名無しさん
2019/12/12(木) 17:12:30.59ID:f967V2wE x = [0,0.1,0.2,0.5,1,2,3]
y = [0.5,0.5,0.4,0.4,0.5,0.4,0.5]
このリストの数値を使ってmatplotlibで折れ線グラフを書きたいのですが、xの小数の値が偏ってしまい見づらくなってしまいます。
(0 0.1 0.2 0.5 1 2 3) ←x軸の数字がこのようになってしまう。
x軸を等間隔に表示させる書き方があれば教えていただけませんでしょうか。
x,yはそれぞれx軸、y軸にあてたい数字です。
y = [0.5,0.5,0.4,0.4,0.5,0.4,0.5]
このリストの数値を使ってmatplotlibで折れ線グラフを書きたいのですが、xの小数の値が偏ってしまい見づらくなってしまいます。
(0 0.1 0.2 0.5 1 2 3) ←x軸の数字がこのようになってしまう。
x軸を等間隔に表示させる書き方があれば教えていただけませんでしょうか。
x,yはそれぞれx軸、y軸にあてたい数字です。
639デフォルトの名無しさん
2019/12/12(木) 17:14:40.82ID:f967V2wE >>638
(0 0.1 0.2 0.5 1 2 3) ←x軸の数字がこのようになってしまう。
この行スペースが表示できませんでしたが、メモリの0~0.5までが寄ってて、1~3までが間隔空きすぎている。等間隔ではないってことを言いたかったです。
(0 0.1 0.2 0.5 1 2 3) ←x軸の数字がこのようになってしまう。
この行スペースが表示できませんでしたが、メモリの0~0.5までが寄ってて、1~3までが間隔空きすぎている。等間隔ではないってことを言いたかったです。
640デフォルトの名無しさん
2019/12/12(木) 17:51:08.05ID:dyy25qsp >>638-639
fig = plt.figure()
ax = fig.add_subplot(111)
#↑ここまでは適宜自分がやってるように読み替えれ
#↓目盛りの指示を好きなように出せる呪文。y軸の設定はset_yticksだ
ax.set_xticks([0, 1, 2, 3, 4])
fig = plt.figure()
ax = fig.add_subplot(111)
#↑ここまでは適宜自分がやってるように読み替えれ
#↓目盛りの指示を好きなように出せる呪文。y軸の設定はset_yticksだ
ax.set_xticks([0, 1, 2, 3, 4])
641デフォルトの名無しさん
2019/12/12(木) 18:11:33.19ID:n05Ewb3K plt.plot(x, y)
plt.show()
で普通に等間隔のtickで表示される
plt.plot(x, y)
plt.xticks(x)
plt.show()
とかすれば等間隔じゃないtickで表示される
plt.show()
で普通に等間隔のtickで表示される
plt.plot(x, y)
plt.xticks(x)
plt.show()
とかすれば等間隔じゃないtickで表示される
642デフォルトの名無しさん
2019/12/12(木) 18:21:07.32ID:f967V2wE643デフォルトの名無しさん
2019/12/12(木) 18:22:15.85ID:f967V2wE すみません…。画像の乗せ方わからなかったので試しにかいてみたやつ消すのを忘れてました…!
644デフォルトの名無しさん
2019/12/12(木) 18:28:45.35ID:Lo+C9eAO ネタじゃなくてマジ池沼さん?
645デフォルトの名無しさん
2019/12/12(木) 18:32:25.07ID:n05Ewb3K646デフォルトの名無しさん
2019/12/12(木) 18:42:20.58ID:f967V2wE >>645
はい。もともと等間隔ではないものを等間隔に表示したいという質問でした。
関数の値(例えばx = 0.1ならy = 0.4)をグラフにしたいと思っていました。
xの値は0~1までは少数もとりますが、1からは整数しかとらないためにグラフにすると偏りが出て見づらくなってしまいます。
それを等間隔に表示できれば見やすいかなと思いました。
はい。もともと等間隔ではないものを等間隔に表示したいという質問でした。
関数の値(例えばx = 0.1ならy = 0.4)をグラフにしたいと思っていました。
xの値は0~1までは少数もとりますが、1からは整数しかとらないためにグラフにすると偏りが出て見づらくなってしまいます。
それを等間隔に表示できれば見やすいかなと思いました。
647デフォルトの名無しさん
2019/12/12(木) 20:20:59.56ID:TAtdTKRF yokokara
648デフォルトの名無しさん
2019/12/12(木) 20:54:04.13ID:n05Ewb3K >>646
そいうことだったのか
tickを等間隔な値にして、対応するラベルを設定したい等間隔じゃない値にする
んでplotするxの値をそれに対応するよう変換する必要があるんじゃないのかな
自動でやってくれる方法があるのかは知らない
plt.plot(range(len(x)), y)
plt.xticks(range(len(x)), x)
plt.show()
そいうことだったのか
tickを等間隔な値にして、対応するラベルを設定したい等間隔じゃない値にする
んでplotするxの値をそれに対応するよう変換する必要があるんじゃないのかな
自動でやってくれる方法があるのかは知らない
plt.plot(range(len(x)), y)
plt.xticks(range(len(x)), x)
plt.show()
649デフォルトの名無しさん
2019/12/12(木) 21:57:18.88ID:dyy25qsp >>646
無理に時空を歪めるのは見る側のことを考えてないのでヤメレ
常識的な解決策としては
・対数グラフを使う
・一部(x=0から1の区間だけ)拡大図を
範囲内のどっか空きスペースまたは別添えでつくる
無理に時空を歪めるのは見る側のことを考えてないのでヤメレ
常識的な解決策としては
・対数グラフを使う
・一部(x=0から1の区間だけ)拡大図を
範囲内のどっか空きスペースまたは別添えでつくる
650デフォルトの名無しさん
2019/12/12(木) 22:46:47.08ID:f967V2wE651デフォルトの名無しさん
2019/12/12(木) 23:26:28.33ID:XBUUy+/0 いろいろな参考書で、辞書はKeyと値のペアで出来ていると理解しましたが
keyだけがあって、値が空のを作ってしまってはいかんのでしょうか?
keyだけがあって、値が空のを作ってしまってはいかんのでしょうか?
652デフォルトの名無しさん
2019/12/12(木) 23:54:29.36ID:ZS52b4mm from selenium import webdriver
browser = webdriver.Chrome('chromedriver.exe')
browser.get('https://qiita.com/advent-calendar/2016/crawler')
calendar = browser.find_elements_by_css_selector('div.col-sm-12')
for col_sm in calendar:
col_sms = col_sm.find_elements_by_css_selector('th.adventCalendarCalendar_dayName')
print(col_sms.text)
エラーが
---> 9 print(col_sms.text)
AttributeError: 'list' object has no attribute 'text'
と表示されます。textで出力できないのはなぜなんでしょうか?
色々調べているのですが出力方法がわかりません。
初歩的なことですみませんが教えていただけないでしょうか。
browser = webdriver.Chrome('chromedriver.exe')
browser.get('https://qiita.com/advent-calendar/2016/crawler')
calendar = browser.find_elements_by_css_selector('div.col-sm-12')
for col_sm in calendar:
col_sms = col_sm.find_elements_by_css_selector('th.adventCalendarCalendar_dayName')
print(col_sms.text)
エラーが
---> 9 print(col_sms.text)
AttributeError: 'list' object has no attribute 'text'
と表示されます。textで出力できないのはなぜなんでしょうか?
色々調べているのですが出力方法がわかりません。
初歩的なことですみませんが教えていただけないでしょうか。
653デフォルトの名無しさん
2019/12/12(木) 23:58:02.89ID:n05Ewb3K >>651
setが辞書のキーだけを集めたコレクション
setが辞書のキーだけを集めたコレクション
654デフォルトの名無しさん
2019/12/13(金) 00:15:27.02ID:+9OE4qBy >>652
ブラウザのコンソールからJS叩くかIPythonとかでデバッグするかして
そのCSSセレクタで意図した要素が取得できてるのか確かめるといい
ビジュアルに確認できるのでブラウザのほうが最初はわかりやすいと思う
ブラウザのコンソールからJS叩くかIPythonとかでデバッグするかして
そのCSSセレクタで意図した要素が取得できてるのか確かめるといい
ビジュアルに確認できるのでブラウザのほうが最初はわかりやすいと思う
655デフォルトの名無しさん
2019/12/13(金) 01:37:03.59ID:cqNP6rMk >>654
ブラウザコンソール開いてみました。ブラウザコンソールについて調べてみたのですが
よくわかりませんでした。ここに何かのコードを入力するのでしょうか。
JSとはなんでしょうか?
Jupyter Notebookを使っていまして取得したいcol_smsには
<selenium.webdriver.remote.webelement.WebElement (session="667d743c5f872d23247665eb139f3bac", element="f43fbb00-654d-472f-b0f0-1b43973384b4")>
というようなものがいくつか入っているのですが、textを使っても出力されない状況です。
質問ばかりですみません。
ブラウザコンソール開いてみました。ブラウザコンソールについて調べてみたのですが
よくわかりませんでした。ここに何かのコードを入力するのでしょうか。
JSとはなんでしょうか?
Jupyter Notebookを使っていまして取得したいcol_smsには
<selenium.webdriver.remote.webelement.WebElement (session="667d743c5f872d23247665eb139f3bac", element="f43fbb00-654d-472f-b0f0-1b43973384b4")>
というようなものがいくつか入っているのですが、textを使っても出力されない状況です。
質問ばかりですみません。
656デフォルトの名無しさん
2019/12/13(金) 02:19:41.88ID:VJl1Rt3v 普通に長さが1の配列が戻ってきてんじゃね
イテレーター使って.text使うかcol_sms[0].textでいいんじゃね
col_sm.find_elements_by_css_selector()の戻り値ggれば解決しそうな話
俺は面倒くさいのでggりませんけども…!
イテレーター使って.text使うかcol_sms[0].textでいいんじゃね
col_sm.find_elements_by_css_selector()の戻り値ggれば解決しそうな話
俺は面倒くさいのでggりませんけども…!
657デフォルトの名無しさん
2019/12/13(金) 03:41:11.64ID:+9OE4qBy >>655
JSはJavaScript
スクレイピングするならHTML/CSSと
JavaScript/DOM APIの基礎知識は必須
browser.find_elements_by_css_selector('div.col-sm-12') はJSで
document.querySelectorAll(‘div.col-sm-12’) とするのと同じ
find_element_by_css_selectorは最初に見つかった要素を返す
find_elements_by_css_selectorは要素のリストを返す
んでリストには’text’というAttributeはありませんよってエラーが出てるよね
JSはJavaScript
スクレイピングするならHTML/CSSと
JavaScript/DOM APIの基礎知識は必須
browser.find_elements_by_css_selector('div.col-sm-12') はJSで
document.querySelectorAll(‘div.col-sm-12’) とするのと同じ
find_element_by_css_selectorは最初に見つかった要素を返す
find_elements_by_css_selectorは要素のリストを返す
んでリストには’text’というAttributeはありませんよってエラーが出てるよね
658デフォルトの名無しさん
2019/12/13(金) 06:07:45.61ID:N3jObneI Cython について
Cython の pyx ファイルの中に、
@cython.infer_types(True) とあるんだけど、
この@は何の働きをしているの?記法なの?
詳しい人教えて
Cython の pyx ファイルの中に、
@cython.infer_types(True) とあるんだけど、
この@は何の働きをしているの?記法なの?
詳しい人教えて
659デフォルトの名無しさん
2019/12/13(金) 10:39:13.33ID:A6tZ4ufL >>652-657
Ruby, Selenium Webdriver なら、
find_element は最初の1つだけで、find_elements はすべてを取得する(配列)
css_selector では、div.col-sm-12 などの、
Bootstrap などのCSS フレームワークなどの、デザインを指定するクラスは、あまり意味がない
#main とか、div.container.adventCalendarCalendar とか、table.table とか、
HTML の構造的に、意味があるようなセレクターを指定する。
そうすれば、スマホ・PC などのデザインによって変わらない
css_selector = "#main > div.container.adventCalendarCalendar table.table > thead th.adventCalendarCalendar_dayName"
element = driver.find_element( :css, css_selector )
elements = driver.find_elements( :css, css_selector )
puts element.text, elements[ 0 ].text, elements.length
出力
Sun
Sun
7 (配列の要素数)
Ruby, Selenium Webdriver なら、
find_element は最初の1つだけで、find_elements はすべてを取得する(配列)
css_selector では、div.col-sm-12 などの、
Bootstrap などのCSS フレームワークなどの、デザインを指定するクラスは、あまり意味がない
#main とか、div.container.adventCalendarCalendar とか、table.table とか、
HTML の構造的に、意味があるようなセレクターを指定する。
そうすれば、スマホ・PC などのデザインによって変わらない
css_selector = "#main > div.container.adventCalendarCalendar table.table > thead th.adventCalendarCalendar_dayName"
element = driver.find_element( :css, css_selector )
elements = driver.find_elements( :css, css_selector )
puts element.text, elements[ 0 ].text, elements.length
出力
Sun
Sun
7 (配列の要素数)
660デフォルトの名無しさん
2019/12/13(金) 11:17:38.66ID:V90d9jYd 小学生っぽい子供が混ざってるようだが
質問するときは相手に伝わるようにちゃんと考えた方が良い
技術力よりコミュニケーション力や日本語力を気にしろ
質問するときは相手に伝わるようにちゃんと考えた方が良い
技術力よりコミュニケーション力や日本語力を気にしろ
661デフォルトの名無しさん
2019/12/13(金) 11:40:28.24ID:Mexu05AP662デフォルトの名無しさん
2019/12/13(金) 12:14:38.95ID:A6tZ4ufL Ruby では、ハッシュのキーに値を設定しなければ、値がnil になる。
一方、存在しないキーの値を取得すると、nil になる
これでは両者の区別がつかなくなるので、デフォルト値を設定する。
そうすると、キーに値を設定しなければ、値がデフォルト値になる
バグを避けるためには、必ずキーに値を設定するか、デフォルト値を設定しておく
一方、存在しないキーの値を取得すると、nil になる
これでは両者の区別がつかなくなるので、デフォルト値を設定する。
そうすると、キーに値を設定しなければ、値がデフォルト値になる
バグを避けるためには、必ずキーに値を設定するか、デフォルト値を設定しておく
663デフォルトの名無しさん
2019/12/13(金) 12:38:34.35ID:ZbkO1X73 >>661
set(集合)とdict(辞書)は内部的にはそこそこ近いことをやってる
ハッシュテーブルを作って、keyのハッシュからvalueを見るのがdict。key(setにkeyって概念はないけど、便宜上)のハッシュを見て、key自体が 衝突 and 同じ内容が含まれてるか を見て、key自体を要素として扱うのがset。
setは本当に数学における集合と同じような動作をする(bitwise操作などができる)って認識しとけばおっけー
set(集合)とdict(辞書)は内部的にはそこそこ近いことをやってる
ハッシュテーブルを作って、keyのハッシュからvalueを見るのがdict。key(setにkeyって概念はないけど、便宜上)のハッシュを見て、key自体が 衝突 and 同じ内容が含まれてるか を見て、key自体を要素として扱うのがset。
setは本当に数学における集合と同じような動作をする(bitwise操作などができる)って認識しとけばおっけー
664デフォルトの名無しさん
2019/12/13(金) 12:41:27.69ID:ZbkO1X73 Rubyの話をしてる人が居るのは本当に謎だけど、Pythonでも
dict.get(key, default)
とすればdefaultを設定した上で値を取得できる。
あるいは、collections.defaultdictを使うのもあり
dict.get(key, default)
とすればdefaultを設定した上で値を取得できる。
あるいは、collections.defaultdictを使うのもあり
665デフォルトの名無しさん
2019/12/13(金) 12:46:19.59ID:Mexu05AP >>662-663
ありがとうございます
ありがとうございます
666デフォルトの名無しさん
2019/12/13(金) 12:49:22.97ID:Mexu05AP667デフォルトの名無しさん
2019/12/13(金) 13:41:19.76ID:+9OE4qBy >>661
「キーだけで値が無い辞書」をどういう風に使いたいの?
「キーだけで値が無い辞書」をどういう風に使いたいの?
668デフォルトの名無しさん
2019/12/13(金) 15:24:58.53ID:yspevzV6 >>664
スレタイにRuby禁止って付けられるくらいに、スレ違いのRubyの話をしたがる頭のおかしい構ってちゃんが一人居ついているだけだからスルーしとけばいいよ
スレタイにRuby禁止って付けられるくらいに、スレ違いのRubyの話をしたがる頭のおかしい構ってちゃんが一人居ついているだけだからスルーしとけばいいよ
669デフォルトの名無しさん
2019/12/13(金) 15:26:20.43ID:hzMr3/rM >>667
とある請求書作成アプリのセルからテキストをコピーして辞書に格納してから、別アプリにペーストしたいのです
ケースによって空欄のセルもあるので、そのままで良かったのだろうかと考えてました
でもNoneを入れる事にしました
とある請求書作成アプリのセルからテキストをコピーして辞書に格納してから、別アプリにペーストしたいのです
ケースによって空欄のセルもあるので、そのままで良かったのだろうかと考えてました
でもNoneを入れる事にしました
670デフォルトの名無しさん
2019/12/13(金) 16:20:03.71ID:+9OE4qBy >>669
なるほど
「キーに対応する値が無い」ケースをどう表現すべきかという話だったね
文字列の空欄を示す場合は一般的には空文字を使っておいたほうが
後でテキスト処理をする時にNoneのハンドリングが必要ないし
キー自体が存在してなくてNoneになるケースとの区別が付きやすくてベターだと思う
なるほど
「キーに対応する値が無い」ケースをどう表現すべきかという話だったね
文字列の空欄を示す場合は一般的には空文字を使っておいたほうが
後でテキスト処理をする時にNoneのハンドリングが必要ないし
キー自体が存在してなくてNoneになるケースとの区別が付きやすくてベターだと思う
671デフォルトの名無しさん
2019/12/13(金) 18:47:08.49ID:cqNP6rMk >>656-657-659
ご回答ありがとうございます。皆さまから教えていただいたことをできる限り試してみます。
ご回答ありがとうございます。皆さまから教えていただいたことをできる限り試してみます。
672デフォルトの名無しさん
2019/12/13(金) 18:53:53.21ID:Mu2dn80c >>652
そのページそもそもdiv.col-sm-12の子孫にth.adventCalendarCalendar_dayNameが無い件
そのページそもそもdiv.col-sm-12の子孫にth.adventCalendarCalendar_dayNameが無い件
673デフォルトの名無しさん
2019/12/14(土) 00:53:34.54ID:28JG+Fsi >>672
子孫など何か関係がないといけないのですね。入力をすればなんでも取得できると思っていました。
教えていただきありがとうございます。簡単なサイトを作れるぐらいのHTMLやCSSの基本をまずは覚えた方がいいんでしょうか...
子孫など何か関係がないといけないのですね。入力をすればなんでも取得できると思っていました。
教えていただきありがとうございます。簡単なサイトを作れるぐらいのHTMLやCSSの基本をまずは覚えた方がいいんでしょうか...
674デフォルトの名無しさん
2019/12/14(土) 09:57:24.53ID:YkKG/mMh >>670
アドバイスありがとうございます
実は辞書を作る前工程で
Win32のクリップボード経由で、文字列を取得してくるプロセスがあったのですが
そこで自分が書いた関数だと、Winアプリが文字列が空だと、エラーになることに気がつきました
悩ましかったのですが、エラーになったらtry 〜exceptで
変数にNoneを入れることでしのぎました
text = “” だとデバッグで読むときよく分からなかったですし
ここは、何がベターなのかもう少し考えてみます
このスレのコメントは大変ためになります
アドバイスありがとうございます
実は辞書を作る前工程で
Win32のクリップボード経由で、文字列を取得してくるプロセスがあったのですが
そこで自分が書いた関数だと、Winアプリが文字列が空だと、エラーになることに気がつきました
悩ましかったのですが、エラーになったらtry 〜exceptで
変数にNoneを入れることでしのぎました
text = “” だとデバッグで読むときよく分からなかったですし
ここは、何がベターなのかもう少し考えてみます
このスレのコメントは大変ためになります
675デフォルトの名無しさん
2019/12/14(土) 10:57:58.37ID:oHNLq8G6 馬鹿には無理
676659
2019/12/14(土) 10:59:10.77ID:8NRAnTxB >>673
web アプリの初心者は基本、サーバー側はRuby で、
クライアント側は、HTML, CSS/SASS, Bootstrap, JavaScript, jQuery などを使う
jQuery のCSS Selector のルールを学べばよい。
emmet も、似たようなもの
# はid で、. はクラスとか、
x > y なら子要素(子孫を含まない)で、x y なら子孫要素とか
それと、他人のHTML の解析は、基本無理。
クラスをどういう意味で使っているのか、分からないから
構造的な意味で使っているのか、単なるデザイン上のものなのか、
または、Bootstrap などのCSS フレームワークのルールなのかも知れないし、
他人の考えなど、分からない
col-sm-12 みたいに、small なら、12列分の幅を使うとか、
こういうデザイン上のものを、CSS Selectorに入れると、
ページのデザインが変わると、セレクトされなくなったりしてしまう
一方、構造的な意味は、変わりにくい
web アプリの初心者は基本、サーバー側はRuby で、
クライアント側は、HTML, CSS/SASS, Bootstrap, JavaScript, jQuery などを使う
jQuery のCSS Selector のルールを学べばよい。
emmet も、似たようなもの
# はid で、. はクラスとか、
x > y なら子要素(子孫を含まない)で、x y なら子孫要素とか
それと、他人のHTML の解析は、基本無理。
クラスをどういう意味で使っているのか、分からないから
構造的な意味で使っているのか、単なるデザイン上のものなのか、
または、Bootstrap などのCSS フレームワークのルールなのかも知れないし、
他人の考えなど、分からない
col-sm-12 みたいに、small なら、12列分の幅を使うとか、
こういうデザイン上のものを、CSS Selectorに入れると、
ページのデザインが変わると、セレクトされなくなったりしてしまう
一方、構造的な意味は、変わりにくい
677デフォルトの名無しさん
2019/12/14(土) 11:23:55.42ID:dDx9/YlQ yokokara
678デフォルトの名無しさん
2019/12/14(土) 11:34:02.24ID:TlZt0bii 後ろから前から
679デフォルトの名無しさん
2019/12/14(土) 11:52:10.65ID:e26gFA86 アホな質問で申し訳ないが
class の、書き方について質問あります
Python がはじめてのプログラミング言語で
やっと手続き的な記述ではやりたいことが
できるようになってきた
オブジェクト指向理解してないのもあるかもだけど
ライブラリとか、フレームワークのclass をオーバーライドしてかく時に
self が乱立しまくってて、
効率わるいようなきがするのだけども
書き方があってるのか知りたい
現場エラー吐いてないから、いいかもしれないけど
マナーというか、お作法としてどうなんやろ?と
別途class つくったり関数作ったりするの?
class の、書き方について質問あります
Python がはじめてのプログラミング言語で
やっと手続き的な記述ではやりたいことが
できるようになってきた
オブジェクト指向理解してないのもあるかもだけど
ライブラリとか、フレームワークのclass をオーバーライドしてかく時に
self が乱立しまくってて、
効率わるいようなきがするのだけども
書き方があってるのか知りたい
現場エラー吐いてないから、いいかもしれないけど
マナーというか、お作法としてどうなんやろ?と
別途class つくったり関数作ったりするの?
680デフォルトの名無しさん
2019/12/14(土) 14:32:25.78ID:tCtWHq2v >>679
それは誰もが感じる疑問
Pythonではインスタンスメソッドとして扱いたいメソッドの第一引数にselfを渡して
明示的にselfを指定する以外にインスタンスメンバーを参照する方法はないので
オブジェクト指向的に書く場合はselfが乱立しまくるのが通常
”Explicit is better than implicit.”という苦しい言い訳をする人も多いけど
そんな高尚なものじゃなく単に言語の制約なのでPython使う限りは諦めて受け入れるしかない
それは誰もが感じる疑問
Pythonではインスタンスメソッドとして扱いたいメソッドの第一引数にselfを渡して
明示的にselfを指定する以外にインスタンスメンバーを参照する方法はないので
オブジェクト指向的に書く場合はselfが乱立しまくるのが通常
”Explicit is better than implicit.”という苦しい言い訳をする人も多いけど
そんな高尚なものじゃなく単に言語の制約なのでPython使う限りは諦めて受け入れるしかない
681デフォルトの名無しさん
2019/12/14(土) 16:23:05.11ID:8NRAnTxB Ruby のクラスでは、引数にself を持ちまわらなくても、selfが使えるだろ。
それは、実装が大変
ユーザーの利便性を上げるために、実装で頑張った
それは、実装が大変
ユーザーの利便性を上げるために、実装で頑張った
682デフォルトの名無しさん
2019/12/14(土) 16:52:04.55ID:TlZt0bii selfが嫌なら第一引数を@にすれば良いんだよ
@.hoge でアクセス出来るし便利だぞ
@.hoge でアクセス出来るし便利だぞ
683デフォルトの名無しさん
2019/12/14(土) 16:58:40.39ID:tCtWHq2v684デフォルトの名無しさん
2019/12/14(土) 17:15:21.14ID:TlZt0bii 最近はRustとかNimみたいに
第一引数.関数名(第二引数以降はカッコ内)
の様な文法が流行ってる
第一引数.関数名(第二引数以降はカッコ内)
の様な文法が流行ってる
685デフォルトの名無しさん
2019/12/14(土) 17:45:57.04ID:tCtWHq2v >>684
もうそういう苦しい言い訳やめたほうがいいよ
RustやNimやGoはコンテキストが全く違うんだから
>>679
FAQも読むといいよ
https://docs.python.org/ja/3/faq/design.html#why-self
日本語訳おかしいから英語読めるなら原文のほうがおすすめ
もうそういう苦しい言い訳やめたほうがいいよ
RustやNimやGoはコンテキストが全く違うんだから
>>679
FAQも読むといいよ
https://docs.python.org/ja/3/faq/design.html#why-self
日本語訳おかしいから英語読めるなら原文のほうがおすすめ
686デフォルトの名無しさん
2019/12/14(土) 18:17:59.35ID:zJmCdf+U Pythonは変数のスコープもちょっと微妙なとこあるし、self必須とかはスコープに由来してるかわかんないけど、その辺は受け入れるしかないよね
その辺受け入れたとしても便利だからPython選んでるわけで
もちろん後方互換性を保ったまま改善できる言語変更があったら嬉しいけど
○○が変だからPythonは使えない、という人には他の言語もあるしね。
その辺受け入れたとしても便利だからPython選んでるわけで
もちろん後方互換性を保ったまま改善できる言語変更があったら嬉しいけど
○○が変だからPythonは使えない、という人には他の言語もあるしね。
687デフォルトの名無しさん
2019/12/14(土) 21:51:22.03ID:BIA5WTIR テトリスってむずいすか(´・ω・`)
688デフォルトの名無しさん
2019/12/14(土) 22:02:54.83ID:1E2rCKG0689デフォルトの名無しさん
2019/12/14(土) 23:29:48.51ID:Ztjs0n6X690デフォルトの名無しさん
2019/12/15(日) 07:07:55.11ID:DnIG8IxI 今がんばってます(´・ω・`)ゲームつくりたいんで(´;
691デフォルトの名無しさん
2019/12/15(日) 12:01:47.20ID:tER7UmuJ この界隈だとがんばっちゃダメ
テトリスのコードを10くらい眺めて理解すればいい
テトリスのコードを10くらい眺めて理解すればいい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はパンダがいなくなる状況に直面するだろう」 中国メディア、専門家の見方伝える [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 ★2 [蚤の市★]
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★5 [BFU★]
- 【福岡】ミカンの木に逆さ吊りになっていた高齢の男性が死亡 [雑用縞工作★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★12 [樽悶★]
- (´・ω・`)おはよ
- 🏡
- 【高市悲報】大暴落 [115996789]
- 【速報】東京から人が消える [329329848]
- 昼間にスーパーいったらさ客の9割が女しかも年代色々
- 【悲報】無能ぼく、仕事では「どうやったら楽できるか」を最優先に考えてしまうwwwwww
