くだすれPython(超初心者用) その45【Ruby禁止】

■ このスレッドは過去ログ倉庫に格納されています
2019/10/16(水) 10:17:12.96ID:dCHq3Ix4
当スレに★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/
2019/12/08(日) 18:23:02.65ID:B7mwO2xN
>>550
pycodestyleやautopep8みたいなlinterを使うと
変な書き方してると注意してくれたり修正してれたりする
2019/12/08(日) 18:28:29.58ID:/kMCly/x
>>553
VSをアンインストールしてVSCodeをインストールすれば自動修正も可能
2019/12/08(日) 19:29:26.06ID:ick2zDgR
yokokara
2019/12/08(日) 19:42:50.38ID:Wyx2vkr6
>>555
C#使ってるやつのVS、アンインストールさせんなw追加でVSCode入れればいい。
2019/12/08(日) 20:31:30.09ID:ZrAxLUnk
>>552
そーか、インデントにはtabじゃなくてスペース4個が望ましかったのか.....
ずっとtab使ってたわ、まぁ他人に配布することないし今後もtabで行くと思うけど...
2019/12/08(日) 20:41:40.91ID:ohyhj+qx
そういう宗派ですからね
戒律は厳しいです
2019/12/08(日) 21:18:36.18ID:/kMCly/x
>>558
https://stackoverflow.blog/2017/06/15/developers-use-spaces-make-money-use-tabs/
> スペース派はタブ派よりも高収入
2019/12/08(日) 21:47:58.89ID:h14g0YSH
>>558
俺もtab(表示は4スペース)派
人に渡すことはまずないしあっても変換すりゃいいだけだし
2019/12/08(日) 21:52:20.12ID:ZrAxLUnk
>>560
ぱっと読んで多変量解析してなさそうな報告だったけど、本当にインデントの種類が収入の因子になってるのかね?
まぁ、俺は趣味だからtabで今後も行くし,spaceインデントを否定するつもりはないけど

(1)スペースだと4段階インデントに16回スペースを押さなければならない、tabだと4回で済む
(2)スペースの打ち間違いによるエラーがわかりにくい、
   4段階インデントの場合、スペース16個と17個(間違い)がぱっとみわかりづらい。
   CとかならいざしらずPythonだとエラーになる。tabだとtab4個と5個では違いがはっきりしてる。

オートインデント使えねえクズは死ねとか言われそうだけど.....
2019/12/08(日) 22:06:25.63ID:iU1G1+Qw
開発環境の整備を検討するべきだ
2019/12/08(日) 22:47:58.24ID:B7mwO2xN
>>562
>(1)スペースだと4段階インデントに16回スペースを押さなければならない、tabだと4回で済む

エディタの機能でtabキーを4回押せばスペース16個になる
さすがにスペースキー連打してるやつはいないよ
2019/12/08(日) 22:52:01.83ID:ZtTX+YkB
>>562
ちょっとちょっとw
丁寧におかしな分析してんじゃないですよ?
2019/12/08(日) 22:59:41.29ID:Wir5LDVx
他言語ではタブ派だけどpythonだけはvscodeでスペース4に設定してるな
indent-rainbow入れとけばインデントミスはすぐわかるし
2019/12/09(月) 00:23:43.78ID:1/0np3ih
>>557
vscodeなら直してくれるんだ・・・。
pythonsはやっぱりVSでなくてvscode使えってことなのか。
568デフォルトの名無しさん
垢版 |
2019/12/09(月) 11:12:02.64ID:RLwtKsqp
インデントの話やPEP8の話が出て来ると
必ずと言って良いほどオレの方が正しいって
主張始めるやつが出て来るのが面白いな

スペース 2 個派です
2019/12/09(月) 12:15:24.24ID:WTLcFYnZ
pythonの場合、インデントが必ずしも2とか4の倍数じゃないところがめんどくさい。
パレンで囲って改行したときに、次の行頭にちまちまスペース入れなきゃならないし。
まぁ、しなくても動くけど。

タブ文字は便利だが、こうした場合スペースと混合されると紛らわしいな。
2019/12/09(月) 12:38:11.52ID:WjwE1wYD
>>568
Pythonは一応バイブルあるから自分が正しいって主張する奴はあんまりいなくね?
大抵は俺と一緒で「自分しか関与しないから俺流でやるぜ」って奴かと
2019/12/09(月) 12:59:58.96ID:W35ag/eC
教義を守らないヤツは異端だから滅ぼしていい
ってのが西洋人の考え方だよ
2019/12/09(月) 13:46:32.29ID:2N90NDIG
2はそれでホロンだ
2019/12/09(月) 16:20:48.22ID:qscAnUd4
そういえば、ホロン・リナックスってあったなぁ
2019/12/09(月) 16:55:51.28ID:03JGrJKy
他の言語(Goはタブ強制だから除く)だとスペース2個派だけど、Pythonは4だなあ
PEP以前にPythonでスペース2個は浅すぎて読めん
深いネストから戻るときに今何段目か分からん
575デフォルトの名無しさん
垢版 |
2019/12/09(月) 16:57:50.47ID:VQkZ+CLb
ネストよりフラットが良い by zen of python
貧乳派の教祖である。
2019/12/09(月) 17:26:52.50ID:3v06ZNRZ
https://ideone.com/Wg79gW
ループをy→xの順で回して、printはlist[x][y]とすると以下の結果になります
1324
これはなぜでしょうか
どういう仕組みでこうなるかわかりませぬ
2019/12/09(月) 17:29:17.58ID:uy6UoUfX
え?
578デフォルトの名無しさん
垢版 |
2019/12/09(月) 17:33:45.58ID:RLwtKsqp
そもそもpythonじゃないのでネタ確定だが
あえてpythonで書くと
https://ideone.com/osA1LA
2019/12/09(月) 17:34:28.98ID:scocuTx7
>>576
varで始まってる時点でPythonじゃねぇ
チネ!!!(・∀・)
580デフォルトの名無しさん
垢版 |
2019/12/09(月) 17:39:42.43ID:RLwtKsqp
ごめん途中で送信したので
やり直し
https://ideone.com/5YnYmj
2019/12/09(月) 17:42:40.72ID:3v06ZNRZ
>>579
似てるのでここでいいです
2019/12/09(月) 17:43:07.42ID:3v06ZNRZ
>>580
ネタではないです
ただ、どういうロジックでこういう結果になるのかわからないです
2019/12/09(月) 17:47:31.97ID:scocuTx7
>>581
それを判断するのはオメーじゃねぇ
(・∀・)カエレ!!!
チネ!!!(・∀・)
2019/12/09(月) 17:56:15.08ID:FD9BPIub
>>582
xとyの値を確認しながらデバッガーでステップ実行するかprintデバッグすればわかる
2019/12/09(月) 19:13:08.22ID:3v06ZNRZ
ありがとう
でもわからない
2019/12/09(月) 20:12:58.55ID:8kuRYSAZ
>>581
もしかしてお前は自分が書いている言語が何なのかすら知らないのではないか?ロジックがどうこう言う手前の段階だろう。
2019/12/09(月) 21:49:55.90ID:m18yM9uO
Windowsの「アプリA」バージョン3が文字列を画面に表示してます
これを「アプリA」バージョン2に対してコピペしたいのですが
二つのアプリは同時に起動することができません

そこで、まずバージョン3を起動して、手に入れたい部分をコピーしてテンポラリー書類にコピーペースト.

入れ替わりでバージョン2を起動して
テンポラリーからコピペしたい部分をゲットして
バージョン2宛にペースト.
そんな工程を目論んでます

テンポラリーファイルには、変数名と文字列、数値が記録されることになると思います

このような手法に適した、ファイルの書き出し・読み込みと言えばどんなものがあるでしょうか?

自分なりにはpickleというものを見つけましたが、なんか難しそうな気がしました
アドバイス頂ければ嬉しいです
2019/12/09(月) 21:53:47.07ID:gL89svw9
クラスの勉強をするかdict型で書き出すかして
そのままpickleにかけろ
それより楽な方法は生データをテキストで保存することだが後々苦労するからやめとけ
2019/12/09(月) 22:18:14.86ID:m18yM9uO
ありがとうございます
dictと、クラスの定義ですね

はて?
pickleって、ひょっとして持っていけるのは要素だけで
変数名とかリスト名とかは持っていけない?
2019/12/09(月) 23:42:57.55ID:Pxm13ZGa
可読性を重視するならjsonもありかと
591デフォルトの名無しさん
垢版 |
2019/12/10(火) 09:42:46.70ID:Gtb8KZ21
可読性ならjsonよりyamlやtomlのほうが…
2019/12/10(火) 13:06:22.84ID:6QYDHDQi
括弧が付いてると可読性が上がる
593デフォルトの名無しさん
垢版 |
2019/12/10(火) 13:28:31.47ID:uPxE4CgL
カッコ悪い
2019/12/10(火) 13:35:45.35ID:F3h+m1zk
(E)!
2019/12/10(火) 15:08:32.10ID:FE1Fen7q
jsonファイアフォックスで見れば見やすいぞ
2019/12/10(火) 15:46:55.98ID:6QYDHDQi
よしなに整形してくれるからな
597デフォルトの名無しさん
垢版 |
2019/12/10(火) 15:57:56.29ID:48kVELqA
>>589-591
msgpack
2019/12/10(火) 16:51:25.96ID:LOypIkS3
590の”可読性”はhuman-readableの意味で使ってんだろ
2019/12/10(火) 17:23:44.99ID:eJPx3dnZ
msgpackはJSON比で大して速くも小さくもない
人間による読み書きが可能であり大抵の言語で標準で扱えるというJSONのメリットを捨てるのに見合ったリターンはない
600デフォルトの名無しさん
垢版 |
2019/12/10(火) 17:53:43.58ID:48kVELqA
充分小さいぞ
2019/12/10(火) 18:12:40.55ID:eJPx3dnZ
せいぜい50%程度を充分と思うかは貴方次第
私はそうは思いませんね
602デフォルトの名無しさん
垢版 |
2019/12/10(火) 18:15:41.31ID:48kVELqA
キーを何度も使いまわすのは無駄だと思う
2019/12/10(火) 19:20:38.59ID:eJPx3dnZ
msgpackが同じキーを何度も書いていないとでも?
2019/12/10(火) 19:51:08.94ID:1ZU0zLKJ
まあ一連のレスは無駄そうだな
2019/12/10(火) 19:59:18.07ID:ORQYQVvI
yokokara
2019/12/10(火) 20:52:52.51ID:hzlCevra
可読性といえばxmlじゃないの
いやよく知りませんけど!
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を使って取り出してみると整合してないのです

助言を頂ければありがたいです。
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ウィンドウが開くまで待機して、その後実行します
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
>>>
2019/12/11(水) 09:33:54.19ID:cSF0k0t2
>>610
そのAPIは知らんけど、copy関数使われてなくない?
612デフォルトの名無しさん
垢版 |
2019/12/11(水) 09:40:31.18ID:ZT47FwY4
>>610
Windowsのクリップボードを監視した感触では、
とある請求書ソフトウェアからは、正しい順番でコピーされている様子です

ペースト関数を、一回しか使わない場合は、正常動作します。
素人ながら、なんか、定義済の変数に新しい値が代入されるとき
前後でメモリの処理がまずくなっているのかなと思いました
グローバル変数とかローカル変数とか、そっちの問題なんだろうかと、それらの勉強も始めましたが
まだまださっぱりわかりません

助言だけでもいただければありがたいです
613デフォルトの名無しさん
垢版 |
2019/12/11(水) 09:43:31.13ID:ZT47FwY4
>>611
そうですね。copy関数は使われてないですね
参考元では、copyとpasteがペアで表記されていたので
もしかして改善するときに必要になるかな?と思って、念のためにあげました
失礼しました
2019/12/11(水) 09:51:14.90ID:cSF0k0t2
>>613
copy関数使わないで、コピーはどうしてるの?
マウスクリックしかされてないみたいだけど。
想像だけど、copy関数使ってコピーしてそのままreturnしたら良いんじゃ無いの?
615デフォルトの名無しさん
垢版 |
2019/12/11(水) 09:58:47.72ID:ZT47FwY4
>614
copy関数使わないで、コピーはどうしてるの?

「とある請求書ソフトウェア」は、画面上に「COPY」というボタンがありまして
それを一回クリックしてます
するとWindowsのクリップボードに、テキストが入ってきます
2019/12/11(水) 10:12:58.03ID:Z8/OjH57
sleepないときつくない?
2019/12/11(水) 10:47:34.44ID:pFOdIusR
>>608
3.6までの辞書は
「とにかく出てくる順番はテキトー 気分次第」になるぞ。
keyがうんたらなんたらとかいうレベルではなく。

いやorこまるなら3.7系にするか
標準で装備されてるcollectionsモジュールの「OrderedDict」(これは2.7系から使える)を使う
2019/12/11(水) 10:48:31.78ID:ZT47FwY4
>>616
後出しですみません

import time
time.sleep(0.3)
#0.3〜3までいくつか検討

結果
time.sleep(3)
AAAAA

近くにある命令が辞書に入ってくる
不思議な現象が起きております
環境が悪いんですかね
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されたものが、先に表示されているだけかも知れない
2019/12/11(水) 10:56:31.99ID:PLslpcOL
ループが理解できない(´;ω;`)
2019/12/11(水) 10:57:06.73ID:ZT47FwY4
>>617
いやいやいや
出てくる順番は適当で良いですけど

キーと一緒に代入した(つもり)要素が、別物になってたら困りますよね

それはそれでOrderedDict 調べてみます
2019/12/11(水) 11:01:37.93ID:ZT47FwY4
>>619
>これを、Ruby の式展開、JavaScript のテンプレート・リテラルみたいに、もっと分かりやすく書けないか?

すみません。今の私の技術では限界です
ソースにふりがなのついた参考書と、赤い表紙の本を手引きにしてるレベルです

>後にprintされたものが、先に表示されているだけかも知れない

探ってみます
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)
↑このへんから辿って勉強しる
2019/12/11(水) 11:18:43.26ID:pFOdIusR
>>618
環境か
メモリの壊れかけを疑う件
2019/12/11(水) 12:22:25.53ID:fWs5lM4b
>>618
sleepどこに書いたの?
MouseClickした後paste呼ぶ間に入れてみれ
マウスクリックで相手のソフト側がコピーするんだったら自動化してたとしても非同期なんだよ
2019/12/11(水) 12:29:51.76ID:pFOdIusR
>>625
横レスだけど
> マウスクリックで相手のソフト側がコピーするんだったら自動化してたとしても非同期
なるほどとってもなっとくっく
627デフォルトの名無しさん
垢版 |
2019/12/11(水) 12:44:29.61ID:8OP/pbId
dataの参照を取り出してるだけで
dataの中身を取り出してないから
printするときに逆になるんじゃね
知らんけど
2019/12/11(水) 12:48:31.95ID:ZT47FwY4
>>625
>sleepどこに書いたの?
>MouseClickした後paste呼ぶ間に入れてみれ

pasteの後に入れてました
1回目と2回目のコピペの間で、休ませれば正常動作するかな?と思いまして

そして、はー。これが正解でした
sleepの位置も大事なんですね
ありがとうございました

みなさんもありがとうございました
2019/12/11(水) 12:53:40.70ID:Z8/OjH57
AutoItからの移行組だと思ったけどあれじゃAutoItの時も動かないはずだが
2019/12/11(水) 15:59:30.28ID:PLslpcOL
https://ideone.com/qx5CEY
このコードの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 は横(列)になるってだけ
2019/12/11(水) 16:08:47.02ID:H3x5MOt+
>>610
printデバッグとデバッガのステップ実行を使うといいよ
両方組み合わせればタイミングが原因かどうかはだいだい切り分けられる

今回の例ならpaste関数のreturnの前にprint(“paste data: ”, data)を入れて
dic[“key”] = paste()の直前か直後にブレイクポイントを設定してステップ実行する
2019/12/11(水) 16:10:35.08ID:cSF0k0t2
>>630
ループ以前に配列を理解していない。
2つ目のはy値はずっと0でx値は0,1と変化している。
print(array[0][0])、print(array[1][0])と実行していることになる。
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に特別な意味があるわけじゃない
2019/12/11(水) 16:27:38.36ID:PLslpcOL
>>631
テトリスの作成で、配列の回転をしたかったんですよ
行は[1,2]を1行目、[3,4]を2行目と考えています
2019/12/11(水) 17:01:24.49ID:wQahrCJY
>>635
拾い物
https://pastebin.com/3kAeGTNV
2019/12/11(水) 18:26:22.83ID:BSd1dztf
さすがにOSアップデートしろよwww
そんな化石使ってる時点で話にならない
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軸にあてたい数字です。
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までが間隔空きすぎている。等間隔ではないってことを言いたかったです。
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])
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で表示される
2019/12/12(木) 18:21:07.32ID:f967V2wE
>>640さん、>>641さん
ありがとうございます。お二人のようにそれぞれやってみましたが等間隔で表示できません…。
少数のところが偏って表示されてしまいます。

一応コード載せます
figure = plt.figure(figsize=(10, 5))
axis = figure.add_subplot(1, 1, 1)
plt.plot(x,y)
axis.set_xticks([0,0.1,0.2,0.5,1,2,3])

plt.show()
2019/12/12(木) 18:22:15.85ID:f967V2wE
すみません…。画像の乗せ方わからなかったので試しにかいてみたやつ消すのを忘れてました…!
644デフォルトの名無しさん
垢版 |
2019/12/12(木) 18:28:45.35ID:Lo+C9eAO
ネタじゃなくてマジ池沼さん?
2019/12/12(木) 18:32:25.07ID:n05Ewb3K
>>642
>axis.set_xticks([0,0.1,0.2,0.5,1,2,3])
↑等間隔じゃないtick設定しとるやーーん
2019/12/12(木) 18:42:20.58ID:f967V2wE
>>645
はい。もともと等間隔ではないものを等間隔に表示したいという質問でした。
関数の値(例えばx = 0.1ならy = 0.4)をグラフにしたいと思っていました。
xの値は0~1までは少数もとりますが、1からは整数しかとらないためにグラフにすると偏りが出て見づらくなってしまいます。
それを等間隔に表示できれば見やすいかなと思いました。
2019/12/12(木) 20:20:59.56ID:TAtdTKRF
yokokara
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()
2019/12/12(木) 21:57:18.88ID:dyy25qsp
>>646
無理に時空を歪めるのは見る側のことを考えてないのでヤメレ

常識的な解決策としては
・対数グラフを使う
・一部(x=0から1の区間だけ)拡大図を
  範囲内のどっか空きスペースまたは別添えでつくる
2019/12/12(木) 22:46:47.08ID:f967V2wE
>>648
すごい!これできれいにグラフが出せました。本当にありがとうございます!
書き方に工夫が必要で、そういうのをぱっと思いつけるように勉強いたします。

>>649
関数のグラフではなくてxに対応するyの値(値がxのときの結果はこの数値)はこれですよっていうだけの折れ線グラフを出したかったのです。
ですから時空は大丈夫のはず…です。
対数グラフというものを知りませんでしたので調べてみます。ありがとうございます。
2019/12/12(木) 23:26:28.33ID:XBUUy+/0
いろいろな参考書で、辞書は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で出力できないのはなぜなんでしょうか?
色々調べているのですが出力方法がわかりません。
初歩的なことですみませんが教えていただけないでしょうか。
2019/12/12(木) 23:58:02.89ID:n05Ewb3K
>>651
setが辞書のキーだけを集めたコレクション
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況