当スレに★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(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1571188632/
探検
くだすれPython(超初心者用) その46【Ruby禁止】
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2020/01/02(木) 15:56:54.08ID:ZUrZA+uS2デフォルトの名無しさん
2020/01/02(木) 15:59:02.97ID:ZUrZA+uS >>> 0 ** 0
1
>>> 0 / 0
ZeroDivisionError: division by zero
1
>>> 0 / 0
ZeroDivisionError: division by zero
3デフォルトの名無しさん
2020/01/02(木) 16:02:30.65ID:ZUrZA+uS4デフォルトの名無しさん
2020/01/02(木) 16:22:20.85ID:T0zeprk/5デフォルトの名無しさん
2020/01/02(木) 16:36:42.09ID:yYKIO5sw 北海道のグラサンスーパーハゲザーはここにはこないのー?
6デフォルトの名無しさん
2020/01/02(木) 16:38:32.31ID:NYIo0K4b 久しぶりに貼っとくか
日本語の扱いで戸惑ったらこちらをどうぞ
ttp://speirs.blog17.えふしー2.com/blog-えんとり-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.はてna.ne.jp/kakurasan/20100330/p1
PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
日本語の扱いで戸惑ったらこちらをどうぞ
ttp://speirs.blog17.えふしー2.com/blog-えんとり-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.はてna.ne.jp/kakurasan/20100330/p1
PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
2020/01/03(金) 17:34:21.06ID:o2JYS5/T
スマートに長さが決まってる配列に交互に数値をいれていくにはどうしたら良いですか?
自分でつくるとどうも長くなってしまいます
t=5
v=[]
for i in enumerate():
if i==t:
break
elif i%2==0:
v.append(1)
elif i%2==1:
v.append(4)
けっか
[1,4,1,4,1]
自分でつくるとどうも長くなってしまいます
t=5
v=[]
for i in enumerate():
if i==t:
break
elif i%2==0:
v.append(1)
elif i%2==1:
v.append(4)
けっか
[1,4,1,4,1]
8デフォルトの名無しさん
2020/01/03(金) 17:46:09.32ID:9yXh1BHh np.array([1,4]*3).flatten()[:5]
9デフォルトの名無しさん
2020/01/03(金) 17:47:21.41ID:9yXh1BHh ([1,4]*3)[:5]
でいけた
でいけた
2020/01/03(金) 18:52:28.14ID:b0yxo6PI
>>9
ありごとうございます
ありごとうございます
12デフォルトの名無しさん
2020/01/03(金) 20:34:33.45ID:JUB4cBO313デフォルトの名無しさん
2020/01/03(金) 20:38:57.19ID:EoKPJcjT 草
14デフォルトの名無しさん
2020/01/03(金) 20:42:39.36ID:1QSwQP8U ツッコミ待ちか
2020/01/03(金) 21:47:45.01ID:cSDCrnP1
>>7
from itertools import islice, cycle
def take(n, iterable):
____return list(islice(iterable, 0, n))
take(5, cycle([1,4]))
from itertools import islice, cycle
def take(n, iterable):
____return list(islice(iterable, 0, n))
take(5, cycle([1,4]))
2020/01/03(金) 22:08:54.32ID:3PIY9GXm
pyinstallerがインストールできません。
2020/01/03(金) 22:10:03.64ID:3PIY9GXm
コマンドプロンプトを起動
pipでPyInstallerをインストール
$ pip install pyinstaller
って書いてあるけど、windowsのコマンドプロンプトっていうことでしょうか?
やってみたけどエラーが出てインストールできません。
pipでPyInstallerをインストール
$ pip install pyinstaller
って書いてあるけど、windowsのコマンドプロンプトっていうことでしょうか?
やってみたけどエラーが出てインストールできません。
18デフォルトの名無しさん
2020/01/03(金) 22:19:34.01ID:3C9uWk1w >>17
エラーの内容をそのままでいいので貼り付けてください
エラーの内容をそのままでいいので貼り付けてください
19デフォルトの名無しさん
2020/01/03(金) 22:27:22.75ID:3C9uWk1w win10, Python3.7では
pip install pyinstallerでエラーはでなかったです
pip install pyinstallerでエラーはでなかったです
2020/01/03(金) 22:42:46.43ID:3PIY9GXm
すいません。
C:\WINDOWS\system32>pip install pyinstaller
'pip' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というメッセージが出ています。
C:\WINDOWS\system32>pip install pyinstaller
'pip' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というメッセージが出ています。
21デフォルトの名無しさん
2020/01/03(金) 23:04:32.83ID:3C9uWk1w >>20
%PATH%にpip.exeの場所を追加できればとりあえずは解決できると思います
%PATH%にpip.exeの場所を追加できればとりあえずは解決できると思います
2020/01/03(金) 23:27:59.92ID:3PIY9GXm
2020/01/03(金) 23:29:36.06ID:CE0ocwaC
「Windows10 環境変数」でググれ
2020/01/04(土) 00:00:59.89ID:8qieO/zq
2020/01/04(土) 01:33:24.48ID:H/phePoP
キーボードの左下にあるWindowsキー(窓が刻印されたキー)と右上にあるPauseキーを同時に押す
左側の「システム詳細設定」をクリック
下のほうにある「環境変数(N)...」をクリック
「〜のユーザー環境変数」にある「PATH」をダブルクリック
「環境変数名の編集」画面がでるので右上の「新規(N)」をクリック
コマンドプロンプトでwhereコマンドでpipコマンドがある場所を調べて追加(例:C:\Users\xxx\xxx\>where pip)
refreshenvコマンドを実行(例:C:\Users\xxx\xxx\>refreshenv)
>pip --version
Windows 10でPath環境変数を設定/編集する
https://www.atmarkit.co.jp/ait/articles/1805/11/news035.html
Cコンパイラのパスを環境変数に登録する
https://www.youtube.com/watch?v=MQLQHGT-imM
Python 環境変数設定
https://www.youtube.com/watch?v=Mw-eymuD6o0
左側の「システム詳細設定」をクリック
下のほうにある「環境変数(N)...」をクリック
「〜のユーザー環境変数」にある「PATH」をダブルクリック
「環境変数名の編集」画面がでるので右上の「新規(N)」をクリック
コマンドプロンプトでwhereコマンドでpipコマンドがある場所を調べて追加(例:C:\Users\xxx\xxx\>where pip)
refreshenvコマンドを実行(例:C:\Users\xxx\xxx\>refreshenv)
>pip --version
Windows 10でPath環境変数を設定/編集する
https://www.atmarkit.co.jp/ait/articles/1805/11/news035.html
Cコンパイラのパスを環境変数に登録する
https://www.youtube.com/watch?v=MQLQHGT-imM
Python 環境変数設定
https://www.youtube.com/watch?v=Mw-eymuD6o0
26その他
2020/01/04(土) 01:43:48.94ID:H/phePoP PC をバックアップおよび復元する
https://support.microsoft.com/ja-jp/help/17127/windows-back-up-restore
コマンドでWindowsアプリを楽々管理「Chocolatey」
https://www.atmarkit.co.jp/ait/articles/1806/22/news026.html
Qiita > chocolatey
https://qiita.com/tags/chocolatey
https://support.microsoft.com/ja-jp/help/17127/windows-back-up-restore
コマンドでWindowsアプリを楽々管理「Chocolatey」
https://www.atmarkit.co.jp/ait/articles/1806/22/news026.html
Qiita > chocolatey
https://qiita.com/tags/chocolatey
2020/01/04(土) 02:20:50.51ID:H/phePoP
プログラム技術(tech)板の過去ログ検索
https://www.google.it/search?hl=jp&q=site:2ch.net/test/read.cgi/tech/+検索語句
https://www.google.it/search?hl=jp&q=site:5ch.net/test/read.cgi/tech/+検索語句
https://duckduckgo.com/bang
https://duckduckgo.com/bang_lite.html
https://duckduckgo.com/bang?c=Tech&sc=Languages+(Python)
!so python
!hatebu python
!hn python
!infoq python
!qiita python
!quora python
!amjp python
!tw python
!hashtag python
!5ch python
!r python
!slideshare python
!stackshare python
!rstc python
http://rosettacode.org/wiki/Category:Programming_Languages
https://www.google.it/search?hl=jp&q=site:2ch.net/test/read.cgi/tech/+検索語句
https://www.google.it/search?hl=jp&q=site:5ch.net/test/read.cgi/tech/+検索語句
https://duckduckgo.com/bang
https://duckduckgo.com/bang_lite.html
https://duckduckgo.com/bang?c=Tech&sc=Languages+(Python)
!so python
!hatebu python
!hn python
!infoq python
!qiita python
!quora python
!amjp python
!tw python
!hashtag python
!5ch python
!r python
!slideshare python
!stackshare python
!rstc python
http://rosettacode.org/wiki/Category:Programming_Languages
2020/01/04(土) 02:24:14.73ID:H/phePoP
https://duckduckgo.com/bang?q=google
!yt python
!papers python
!gn python
!gnuk python
!gnnl Guido van Rossum
!yt python
!papers python
!gn python
!gnuk python
!gnnl Guido van Rossum
29デフォルトの名無しさん
2020/01/04(土) 05:58:50.34ID:UVp63hNq >>7
[4 ** (x % 2) for x in range(5)]
[4 ** (x % 2) for x in range(5)]
2020/01/04(土) 09:09:49.45ID:FBAmMQ8N
zip関数って無かったっけ?
2020/01/04(土) 09:24:51.99ID:B5eyFP88
>>7
[[1, 4][x % 2] for x in range(5)]
[[1, 4][x % 2] for x in range(5)]
2020/01/04(土) 10:35:07.19ID:d9ICAhD8
>>29が今のとこ一番分かりやすい
2020/01/04(土) 10:54:36.43ID:GvN9lrG0
windows のコマンドプロンプトで python を動かすのは
あまりお勧めできないけどな
苦労が多すぎて、得るものが少ない
あまりお勧めできないけどな
苦労が多すぎて、得るものが少ない
2020/01/04(土) 11:41:40.61ID:hpecUN4N
そのココロは?
- windowsでpythonやるならコマンドプロンプトよりも××
- windowsでやるならpythonよりも××
- pythonやるならwindowsよりもlinux
- windowsでpythonやるならコマンドプロンプトよりも××
- windowsでやるならpythonよりも××
- pythonやるならwindowsよりもlinux
35デフォルトの名無しさん
2020/01/04(土) 13:00:02.96ID:trUJS7QS36デフォルトの名無しさん
2020/01/04(土) 13:10:53.70ID:trUJS7QS2020/01/04(土) 13:20:22.82ID:xFWRGYjR
>>35
>>> from functools import reduce
>>> from operator import add
>>> reduce(add, zip([1,1,1],[4,4,4]))[:5]
(1, 4, 1, 4, 1)
>>> from functools import reduce
>>> from operator import add
>>> reduce(add, zip([1,1,1],[4,4,4]))[:5]
(1, 4, 1, 4, 1)
38デフォルトの名無しさん
2020/01/04(土) 13:31:07.19ID:trUJS7QS2020/01/04(土) 13:57:37.93ID:hpecUN4N
自分の場合、ふだんnodeとかはgit bashで使ってるけどpythonだけはコマンドプロンプト使ってた。
venv使ってるのとエクスプローラからパスをdrag&dropする使い方が多いんで。
コマンドプロンプト自体がお勧めできないというのは置いておいて、特にpython使うのに
向いていないとは感じないがな。
venv使ってるのとエクスプローラからパスをdrag&dropする使い方が多いんで。
コマンドプロンプト自体がお勧めできないというのは置いておいて、特にpython使うのに
向いていないとは感じないがな。
2020/01/04(土) 18:21:36.62ID:k4tVVk2l
どうしてcmdがおすすめできない訳?
2020/01/04(土) 20:01:48.09ID:Q3FXXgpV
10年位前のpython2.7の頃に比べれば windows10 python3.8はものすごく使い
やすくなっている
やすくなっている
2020/01/04(土) 20:03:30.69ID:Q3FXXgpV
wsl出てからpythonはwslだったけど、個人的にちょっと開発するなら
windows10で十分
windows10で十分
43デフォルトの名無しさん
2020/01/05(日) 00:25:24.67ID:cNQ0xZ86 forの中のif 文がよく似てる感じなのですが
まとめれないでしょうか?
階層が深くて分かりにくくなってしまいました
*マークは字下げです
plane_angle = []
for i , h in enumerate(ho):
****if i >= len(ho) - 1:
********if ho[0].dot(ho[i])<-1:
************ang=0
********else:
************ang=acos(ho[0].dot(ho[i]))
************if ho[i].cross(ho[0]).z<0:
****************ang=pi+ang
************else:
****************ang=pi-ang
****else:
********if ho[i+1].dot(ho[i])<-1:
************ang = 0
********else:
************ang = acos(ho[i+1].dot(ho[i]))
************if ho[i].cross(ho[i+1]).z<0:
****************ang = pi + ang
************else:
****************ang = pi-ang
****plane_angle.append(ang)
まとめれないでしょうか?
階層が深くて分かりにくくなってしまいました
*マークは字下げです
plane_angle = []
for i , h in enumerate(ho):
****if i >= len(ho) - 1:
********if ho[0].dot(ho[i])<-1:
************ang=0
********else:
************ang=acos(ho[0].dot(ho[i]))
************if ho[i].cross(ho[0]).z<0:
****************ang=pi+ang
************else:
****************ang=pi-ang
****else:
********if ho[i+1].dot(ho[i])<-1:
************ang = 0
********else:
************ang = acos(ho[i+1].dot(ho[i]))
************if ho[i].cross(ho[i+1]).z<0:
****************ang = pi + ang
************else:
****************ang = pi-ang
****plane_angle.append(ang)
2020/01/05(日) 00:52:34.25ID:NzdiaSgk
>>43
hoが何でどういう風にデータが入ってるのか教えてくれ
hoが何でどういう風にデータが入ってるのか教えてくれ
45デフォルトの名無しさん
2020/01/05(日) 01:10:24.54ID:cNQ0xZ86 >>44
hoはx,y,z座標を
normalize()させた値が複数個入ってます
こんな感じです
入ってる数と座標はその時によって違います
[Vector((0.9713584184646606, -0.23761920630931854, 0.0)), Vector((0.2879558205604553, 0.9576436281204224, 0.0)), Vector((-0.8237842321395874, 0.0, 0.5669034123420715)), Vector((-0.9037604331970215, -0.36954042315483093, -0.21600256860256195))]
hoはx,y,z座標を
normalize()させた値が複数個入ってます
こんな感じです
入ってる数と座標はその時によって違います
[Vector((0.9713584184646606, -0.23761920630931854, 0.0)), Vector((0.2879558205604553, 0.9576436281204224, 0.0)), Vector((-0.8237842321395874, 0.0, 0.5669034123420715)), Vector((-0.9037604331970215, -0.36954042315483093, -0.21600256860256195))]
2020/01/05(日) 01:19:33.03ID:MK0cWPLh
超初心者です。Pythonのscrapyについて教えていただきたいです。
一つのspiderを作って、crawlすることはできたのですが、
(scrapy crawl xxxxx -o sample_data.csv)
yyyyy.pyとzzzzz.pyというspiderを同じディレクトリに作成し、
(x,y,zは別ドメイン別サイトで同じような情報が掲載されている。
もちろん構造が違うためxpathはサイトごとに違う。)
連続で実行する方法があったら知りたいです。
ググったのですが、scrapyでそういうことができるかどうか、
わからなかったので、質問させていただきました。
spiderの.pyのみx,y,zと複数作って管理保守を楽にしたいです。
xxxxx.pyに複数のclassを書いて、上から順に実行していくという方法に
なるのでしょうか。
わかりづらくて申し訳ないです。ご教示よろしくお願いいたします。
一つのspiderを作って、crawlすることはできたのですが、
(scrapy crawl xxxxx -o sample_data.csv)
yyyyy.pyとzzzzz.pyというspiderを同じディレクトリに作成し、
(x,y,zは別ドメイン別サイトで同じような情報が掲載されている。
もちろん構造が違うためxpathはサイトごとに違う。)
連続で実行する方法があったら知りたいです。
ググったのですが、scrapyでそういうことができるかどうか、
わからなかったので、質問させていただきました。
spiderの.pyのみx,y,zと複数作って管理保守を楽にしたいです。
xxxxx.pyに複数のclassを書いて、上から順に実行していくという方法に
なるのでしょうか。
わかりづらくて申し訳ないです。ご教示よろしくお願いいたします。
2020/01/05(日) 01:32:31.46ID:BPHXVrhY
Ruby なら、`〜` でコマンドを実行できる
`コマンド 1`
`コマンド 2`
`コマンド 3`
scrapy はコマンド名か?
それなら、下のようにできる
`scrapy 〜`
`scrapy 〜`
`scrapy 〜`
コマンドを呼ぶぐらいなら、Ruby以外にも、シェルスクリプト・PowerShell でも出来る
`コマンド 1`
`コマンド 2`
`コマンド 3`
scrapy はコマンド名か?
それなら、下のようにできる
`scrapy 〜`
`scrapy 〜`
`scrapy 〜`
コマンドを呼ぶぐらいなら、Ruby以外にも、シェルスクリプト・PowerShell でも出来る
4827
2020/01/05(日) 02:09:21.37ID:k//yuqW0 !hackster python
https://www.twitter.com/hacksterio
https://www.youtube.com/hacksterio
https://www.hackster.io/channels/topics
Python on Hardware
Power your homes and bots with Python!
https://www.hackster.io/python-on-hardware/projects
https://twitter.com/5chan_nel (5ch newer account)
https://www.twitter.com/hacksterio
https://www.youtube.com/hacksterio
https://www.hackster.io/channels/topics
Python on Hardware
Power your homes and bots with Python!
https://www.hackster.io/python-on-hardware/projects
https://twitter.com/5chan_nel (5ch newer account)
2020/01/05(日) 03:43:21.88ID:y+bEWN5I
>>43
要は2つの隣接する単位ベクトルho[i]とho[i+1]の演算を行いたいが、iが末尾の時はi+1の代わりに0番目を使いたいということか?
それならまずi+1または0を変数jに入れて、ho[i]とho[j]の処理だけを書けば良さそう。
要は2つの隣接する単位ベクトルho[i]とho[i+1]の演算を行いたいが、iが末尾の時はi+1の代わりに0番目を使いたいということか?
それならまずi+1または0を変数jに入れて、ho[i]とho[j]の処理だけを書けば良さそう。
2020/01/05(日) 04:26:51.43ID:NzdiaSgk
>>43
def foo(v1, v2):
____if v1.cross(v2).z < 0:
________return pi + acos(v2.dot(v1))
____else:
________return pi - acos(v2.dot(v1))
plane_angle = [0 if v2.dot(v1) < -1 else foo(v1, v2) for v1, v2 in zip(ho, ho[1:] + ho[:1])]
def foo(v1, v2):
____if v1.cross(v2).z < 0:
________return pi + acos(v2.dot(v1))
____else:
________return pi - acos(v2.dot(v1))
plane_angle = [0 if v2.dot(v1) < -1 else foo(v1, v2) for v1, v2 in zip(ho, ho[1:] + ho[:1])]
2020/01/05(日) 12:25:51.05ID:Q3EjVbhD
2020/01/05(日) 13:21:59.71ID:t/h3kgdg
df = pd.read_csv(file)
print(df.query('class > 1'))
例外が発生しました: SyntaxError
Python keyword not valid identifier in numexpr query (<unknown>, line 1)
File "L:\c#\プロジェクト再開\UnsRehaPlanR21\UnsReha\bin\Debug\setData.py", line 27, in <module>
print(df.query('class > 1'))
これなにが間違ってるのでしょう?
print(df.query('class > 1'))
例外が発生しました: SyntaxError
Python keyword not valid identifier in numexpr query (<unknown>, line 1)
File "L:\c#\プロジェクト再開\UnsRehaPlanR21\UnsReha\bin\Debug\setData.py", line 27, in <module>
print(df.query('class > 1'))
これなにが間違ってるのでしょう?
54デフォルトの名無しさん
2020/01/05(日) 13:22:23.53ID:qO+R3XJX 長さが違うものでもzipできるの?
2020/01/05(日) 14:57:09.36ID:NzdiaSgk
>>53
>Python keyword not valid identifier in numexpr query
Pythonのキーワードはnumexprクエリにおいて有効な識別子ではありません
“class”はPythonのキーワード
>Python keyword not valid identifier in numexpr query
Pythonのキーワードはnumexprクエリにおいて有効な識別子ではありません
“class”はPythonのキーワード
5643
2020/01/05(日) 15:49:37.35ID:cNQ0xZ862020/01/05(日) 22:53:56.79ID:t/h3kgdg
2020/01/05(日) 23:08:33.53ID:CBy/ZWII
seleniumのwebdriverwaitが100%タイムアウト返してくるんですけど、これ考えられる原因あります?
waitの時間伸ばすしか対策ないんでしょうか?
waitの時間伸ばすしか対策ないんでしょうか?
2020/01/05(日) 23:58:22.41ID:NzdiaSgk
2020/01/06(月) 00:08:19.56ID:VrovJO3c
>>59
具体的には
https://colab.research.google.com/drive/1wT6ZpKLNr24R5qEfH-0jotifhBVrfA9S
の57行目でタイムアウト返ってくるんですよね…
この場合だとec.element_to_be_clickableの中身が間違ってるんでしょうか…
具体的には
https://colab.research.google.com/drive/1wT6ZpKLNr24R5qEfH-0jotifhBVrfA9S
の57行目でタイムアウト返ってくるんですよね…
この場合だとec.element_to_be_clickableの中身が間違ってるんでしょうか…
2020/01/06(月) 00:28:29.42ID:zQo0hVCB
データフレームに含まれるNoneデータの個数を数えようとしています
df_bool = (df_combine == None) @
number_of_outliers = df_bool.sum() A
でいけるかと思ったんですが、dfにNoneデータに対して@はFalseの判定でした。
どうやって数えればいいんでしょうか?
df_bool = (df_combine == None) @
number_of_outliers = df_bool.sum() A
でいけるかと思ったんですが、dfにNoneデータに対して@はFalseの判定でした。
どうやって数えればいいんでしょうか?
2020/01/06(月) 01:16:53.52ID:78RinjQr
>>60
エラーが返される57行目の前に
Python3.7以降ならbreakpoint()と書けばブレイクポイントが設定されて
標準のデバッガが起動されるのでnとかsでステップ実行したり任意のコードを実行したりできる
IPythonのデバッガを使いたければimport ipdbして
ブレイクポイント設定したいところでipdb.set_trace(context=10)
人の書いたコードを丸っとコピペするのは別にいいけど
間違ってるかどうかを自分で確かめられないようなら潔く使うのは諦めたほうがいい
エラーが返される57行目の前に
Python3.7以降ならbreakpoint()と書けばブレイクポイントが設定されて
標準のデバッガが起動されるのでnとかsでステップ実行したり任意のコードを実行したりできる
IPythonのデバッガを使いたければimport ipdbして
ブレイクポイント設定したいところでipdb.set_trace(context=10)
人の書いたコードを丸っとコピペするのは別にいいけど
間違ってるかどうかを自分で確かめられないようなら潔く使うのは諦めたほうがいい
2020/01/06(月) 01:17:07.66ID:78RinjQr
>>61
df.isna().sum()
df.isna().sum()
2020/01/06(月) 10:06:33.60ID:bAE45PWZ
>>63
ありがとう。助かりました。
ありがとう。助かりました。
2020/01/06(月) 23:59:51.35ID:VrovJO3c
すいません…結局わかりませんでした…
とりあえずelement_to_be_clickableの中身でエラー起こしてるみたいですが…
構文は間違ってないですし、IDの名前も間違ってないんですよね…
とりあえずelement_to_be_clickableの中身でエラー起こしてるみたいですが…
構文は間違ってないですし、IDの名前も間違ってないんですよね…
66デフォルトの名無しさん
2020/01/07(火) 00:20:44.83ID:ueOqy5pf >>60
# ランタイムクリック
select_dropdown = WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.ID,"runtime-menu-button")))
runtime-menu-button のid が存在するかどうか、ブラウザのF12 開発者ツールで確認すれば?
存在しなければ、wait time を、20 秒から、200秒ぐらいにすれば?
# ランタイムクリック
select_dropdown = WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.ID,"runtime-menu-button")))
runtime-menu-button のid が存在するかどうか、ブラウザのF12 開発者ツールで確認すれば?
存在しなければ、wait time を、20 秒から、200秒ぐらいにすれば?
2020/01/07(火) 00:29:10.58ID:PWzkvPR1
6866
2020/01/07(火) 02:08:13.14ID:ueOqy5pf 600 〜 1,800秒で、やってみれば?
自分が待てる限界時間まで、やってみれば?
自分が待てる限界時間まで、やってみれば?
2020/01/07(火) 02:39:18.92ID:sZs6mHzs
俺も以前開発ツールで見えているのにクリック出来なくてドハマりした
一度そのエレメントが見えるところまでまでスクロールすればイケルと思う
理由は分からないw
面倒だから全スクロール
execute_script("window.scrollTo(0, document.body.scrollHeight);")
一度そのエレメントが見えるところまでまでスクロールすればイケルと思う
理由は分からないw
面倒だから全スクロール
execute_script("window.scrollTo(0, document.body.scrollHeight);")
2020/01/07(火) 03:04:54.42ID:sMehhi+2
headlessじゃなくブラウザを画面表示してデバッガでステップ実行すれば
本当にタイムアウト時間内に要素が求める状態になってないのか
それとも求める状態になってるにもかかわらず取得できないのか一発で分かるやろ
後者ならステップ実行時にto_be_clickableじゃなく
単にfindで要素取得できるかどうかとか
取得できるならそれをclick()できるかどうかとか
正攻法で切り分けしていけばいい
本当にタイムアウト時間内に要素が求める状態になってないのか
それとも求める状態になってるにもかかわらず取得できないのか一発で分かるやろ
後者ならステップ実行時にto_be_clickableじゃなく
単にfindで要素取得できるかどうかとか
取得できるならそれをclick()できるかどうかとか
正攻法で切り分けしていけばいい
2020/01/07(火) 07:30:53.46ID:Thq5It+S
他の要素の下になってクリックできないってこともある。
2020/01/07(火) 07:48:08.12ID:gM3QDlRr
見えてすら無いに一票
2020/01/07(火) 11:17:44.68ID:DsG2B72o
pandasのread_excelでシート読むときに、セル内の関数を読み書きするのはどうしたらいいんでしょうか
具体的には=いまセルにtext(today()+1,"mmdd")が入ってて、read_excelすると1008が取得中できるのですが
today()+nと操作したいです
具体的には=いまセルにtext(today()+1,"mmdd")が入ってて、read_excelすると1008が取得中できるのですが
today()+nと操作したいです
74デフォルトの名無しさん
2020/01/07(火) 12:42:25.03ID:j68rdTp2 もちろんできないのであきらめる
75デフォルトの名無しさん
2020/01/07(火) 12:54:01.36ID:j68rdTp2 OpenPyXLなら式操作できるかな
xlrdでもいいのかも知れないが
"Please use openpyxl where you can..."
なんてわざわざ書いてあるライブラリ使わんでもえやろ
xlrdでもいいのかも知れないが
"Please use openpyxl where you can..."
なんてわざわざ書いてあるライブラリ使わんでもえやろ
2020/01/07(火) 14:39:25.87ID:sMehhi+2
>>73
1. xlwingsやCOM使ってExcelを開いて再計算させてからpandas使う
2. Excelの計算式は捨ててpython側で計算式を定義する
3. openpyxlで計算式をパースしてpythonで計算し直す (茨の道)
1. xlwingsやCOM使ってExcelを開いて再計算させてからpandas使う
2. Excelの計算式は捨ててpython側で計算式を定義する
3. openpyxlで計算式をパースしてpythonで計算し直す (茨の道)
2020/01/07(火) 15:07:43.76ID:YTm5sjhC
seabornでlmplot使っているのですが、DFのラベルでlatency(msec)や[msec]として単位をグラフの軸ラベルを記載しようとするとエラーになります。
2020/01/07(火) 15:09:01.88ID:YTm5sjhC
多分[]や()が予約後だからかとおもいますが、DFのラベル名に単位を記載しようとするときはどのようにするべきなのでしょうか?
2020/01/07(火) 16:20:37.06ID:sMehhi+2
2020/01/07(火) 19:12:15.21ID:cN6CR2jQ
latency_msec
1700
0
0
0
0
0
0
0
0
for i, latency in enumerate(df['latency_msec']):
print(i, latency)
1700
0
0
0
0
0
0
0
0
for i, latency in enumerate(df['latency_msec']):
print(i, latency)
2020/01/07(火) 19:13:26.51ID:cN6CR2jQ
結果
0 1700
1 0
2 0
3 0
4 0
0 0
1 0
2 0
3 0
なんでインデックスが4まで行くと0になってしまうのでしょう?
アホみたいですが、教えて下さい。
0 1700
1 0
2 0
3 0
4 0
0 0
1 0
2 0
3 0
なんでインデックスが4まで行くと0になってしまうのでしょう?
アホみたいですが、教えて下さい。
2020/01/07(火) 19:22:14.99ID:cN6CR2jQ
2020/01/07(火) 19:50:51.58ID:cN6CR2jQ
連投すいません
x latency_msec
1 1700
2 1701
3 1702
4 1703
5 1704
6 1705
7 1706
8 1707
9 1708
df = input_data()
print(df.iloc[1][1])
とすると
ValueError: Can only index by location with a [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array]
となります。
なぜでしょう・・・。
Pandasよくわからない・・・。
x latency_msec
1 1700
2 1701
3 1702
4 1703
5 1704
6 1705
7 1706
8 1707
9 1708
df = input_data()
print(df.iloc[1][1])
とすると
ValueError: Can only index by location with a [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array]
となります。
なぜでしょう・・・。
Pandasよくわからない・・・。
84デフォルトの名無しさん
2020/01/07(火) 19:55:20.61ID:Bxvs3Isv df.iloc[1,1]
2020/01/07(火) 20:03:44.84ID:cN6CR2jQ
2020/01/07(火) 22:05:07.51ID:cN6CR2jQ
q75, q25 = np.percentile(col, [75 ,25])
colが整数だけのときは正しい値が入るのですが、colに少数が入ると0.0になってしまいます
np.percentileって少数には使えないのでしょうか?
colが整数だけのときは正しい値が入るのですが、colに少数が入ると0.0になってしまいます
np.percentileって少数には使えないのでしょうか?
2020/01/07(火) 22:19:19.73ID:sMehhi+2
>>86
a = np.array([[10.4, 7.8, 4.5], [3, 2, 1]])
np.percentile(a, [72,25])
#=> array([6.48, 2.25])
問題なさそうだけど?
a = np.array([[10.4, 7.8, 4.5], [3, 2, 1]])
np.percentile(a, [72,25])
#=> array([6.48, 2.25])
問題なさそうだけど?
2020/01/07(火) 23:10:02.77ID:cN6CR2jQ
2020/01/07(火) 23:17:56.29ID:cN6CR2jQ
四分位範囲で外れ値の値だったばあいフラグを立てる関数を作ったのですが、
なぜかデータが整数では正常動作するのに、少数が含まれているとフラグで1を立てても0になります。
かれこれ数時間悪戦苦闘しているのですが、原因わからず・・・。
どこかにコードを書き込んで質問できればいいのですが、そのような掲示板ありませんでしょうか?
本当に初心者ですいません。
なぜかデータが整数では正常動作するのに、少数が含まれているとフラグで1を立てても0になります。
かれこれ数時間悪戦苦闘しているのですが、原因わからず・・・。
どこかにコードを書き込んで質問できればいいのですが、そのような掲示板ありませんでしょうか?
本当に初心者ですいません。
90デフォルトの名無しさん
2020/01/07(火) 23:30:09.50ID:Es2WAZts つideone
2020/01/07(火) 23:55:26.90ID:cN6CR2jQ
>>90
ありがとうございます。
ありがとうございます。
2020/01/07(火) 23:57:52.11ID:cN6CR2jQ
https://ideone.com/Fl1R9z
40行目の
df.iloc[i][output_column] = 1
が怪しいとおもうのですが、取り込んだdfが整数だけのときは1が書き込めているのですが、
dfに小数が含まれているときは書き込めていないようです。
なぜなのでしょう・・・・・。
40行目の
df.iloc[i][output_column] = 1
が怪しいとおもうのですが、取り込んだdfが整数だけのときは1が書き込めているのですが、
dfに小数が含まれているときは書き込めていないようです。
なぜなのでしょう・・・・・。
2020/01/08(水) 12:53:13.99ID:U2S7mQMy
>>92
↓この警告出てるよね? リンク先みて警告を消そう
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
とりあえず df.loc[i, output_column] = 1 にすれば動くけど
普通はenumerateとかせずにapply使う場面だと思う
df[output_column] = df[chk_column].apply(is_outlier)
↓この警告出てるよね? リンク先みて警告を消そう
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
とりあえず df.loc[i, output_column] = 1 にすれば動くけど
普通はenumerateとかせずにapply使う場面だと思う
df[output_column] = df[chk_column].apply(is_outlier)
94デフォルトの名無しさん
2020/01/08(水) 17:08:03.84ID:Sre2vN3k df['price_edited'] = df['price'].apply(lambda a: int(a[1:]) if a.startswith('$') else 0)
2020/01/08(水) 18:24:29.64ID:xdUcjCBz
2020/01/08(水) 19:32:52.69ID:j91Gwtaz
map, filter, reduceとか色々あるけど、pythonでこの辺って使う機会ある?
2020/01/08(水) 19:59:10.33ID:NG22H+Rz
ほとんどない
リスト内包表記の方が可読性高いし、複雑な処理にはどうせpandasとか使うし
リスト内包表記の方が可読性高いし、複雑な処理にはどうせpandasとか使うし
2020/01/08(水) 20:02:38.71ID:cyxQSndQ
pythonに限らずどの言語でも用意されてるがどの言語でも使わない
2020/01/08(水) 20:06:21.39ID:HaPwADKT
mapは、リスト中の数字と数値を数字に統一して、ソートできるように再マッピングするときに使うことはある
100デフォルトの名無しさん
2020/01/08(水) 20:07:25.06ID:cBWLj0dO101デフォルトの名無しさん
2020/01/08(水) 20:10:23.35ID:v4o4ZY0H >>96
mapは内包表記を使うほどでもないとき
競技プログラミングとかで入力を全部int型のリストに置き換えるときとかに使うぞ
a,b,c = map(int,input().split())って感じで
mapは内包表記を使うほどでもないとき
競技プログラミングとかで入力を全部int型のリストに置き換えるときとかに使うぞ
a,b,c = map(int,input().split())って感じで
102デフォルトの名無しさん
2020/01/08(水) 20:28:49.09ID:w1X5ZQ1+ なるほどlambda書かなくていいケースなら短いんだな
103デフォルトの名無しさん
2020/01/08(水) 20:31:21.99ID:rc02anx7 競プロで使うといえば、sys.stdinとcollections.dequeも
104デフォルトの名無しさん
2020/01/08(水) 21:13:48.14ID:U2S7mQMy >>96
個人用のコードの場合はcurryやpipeと合わせてそこそこ使うけど
他人が読み書きするコードの場合は基本的に内包表記に揃えてる
他の言語と違ってpythonの場合は
そのままだと処理つなげないからmap/filter/reduceだと簡潔に書けない
個人用のコードの場合はcurryやpipeと合わせてそこそこ使うけど
他人が読み書きするコードの場合は基本的に内包表記に揃えてる
他の言語と違ってpythonの場合は
そのままだと処理つなげないからmap/filter/reduceだと簡潔に書けない
105デフォルトの名無しさん
2020/01/08(水) 21:16:10.78ID:cBWLj0dO >>98
ねえねえ
ねえねえ
106デフォルトの名無しさん
2020/01/08(水) 21:23:57.62ID:rc02anx7 むしろ、内包表記の方が使わんわ
107デフォルトの名無しさん
2020/01/08(水) 21:28:12.52ID:cyxQSndQ 昔はシュワルツ変換とかあったが今のpythonじゃそんなの聞かないだろ?
108デフォルトの名無しさん
2020/01/08(水) 21:28:32.46ID:j91Gwtaz >>101
mapってこれa,b,cに直で突っ込めるん?
mapってこれa,b,cに直で突っ込めるん?
109デフォルトの名無しさん
2020/01/08(水) 21:48:20.80ID:rc02anx7110デフォルトの名無しさん
2020/01/09(木) 09:06:17.58ID:CHl595iH >>106
競プロのことは知らないけど、内包表記の方が基本短くならない?なにか違う理由で使わないの?
競プロのことは知らないけど、内包表記の方が基本短くならない?なにか違う理由で使わないの?
111デフォルトの名無しさん
2020/01/09(木) 10:22:53.25ID:CxgUH5at バイト列に関して質問です。
文字タイプのバイト列情報の文字を、日本語に復元したいです。
例えば、
\x12\x34\x56\x78
という文字列があります。
これを
あいう
のような意味のわかる日本語にしたいです。
その場合、
print(b'\x12\x34\x56\x78'.decode('cp932'))
で復元できます。
そこで、復元したい文字列は複数あるので、
\x12\x34\x56\x78 を変数に代入してから、
for文で復元しようとしています。
しかし、変数に代入したら b をつけられません。
どうすればバイト列にしてから復元できるのでしょうか?
文字タイプのバイト列情報の文字を、日本語に復元したいです。
例えば、
\x12\x34\x56\x78
という文字列があります。
これを
あいう
のような意味のわかる日本語にしたいです。
その場合、
print(b'\x12\x34\x56\x78'.decode('cp932'))
で復元できます。
そこで、復元したい文字列は複数あるので、
\x12\x34\x56\x78 を変数に代入してから、
for文で復元しようとしています。
しかし、変数に代入したら b をつけられません。
どうすればバイト列にしてから復元できるのでしょうか?
112デフォルトの名無しさん
2020/01/09(木) 10:37:07.44ID:I9hACzJa b'\x12\x34\x56\x78'を入れちゃだめなの?
113デフォルトの名無しさん
2020/01/09(木) 11:18:23.26ID:nzRPJUvL データフレームのラベルにlatency[msec]と単位をいれたいのですが、
lm_model = smf.ols(formula="latency[msec]~x", data=df).fit()
とすると
latency is not define
となります。
latency_msecとするとokなのですが[]や()を使うとダメ
[]、()をラベルに使ってはいけないのでしょうか?
lm_model = smf.ols(formula="latency[msec]~x", data=df).fit()
とすると
latency is not define
となります。
latency_msecとするとokなのですが[]や()を使うとダメ
[]、()をラベルに使ってはいけないのでしょうか?
114デフォルトの名無しさん
2020/01/09(木) 11:29:08.27ID:m2IVdqCX >>112
レスありがとうございます。
変数にb'\x12\x34\x56\x78'を入れるということでしょうか?
bと文字列 \x12\x34\x56\x78 を合体させる方法が分からないんですよね・・・
レスありがとうございます。
変数にb'\x12\x34\x56\x78'を入れるということでしょうか?
bと文字列 \x12\x34\x56\x78 を合体させる方法が分からないんですよね・・・
115デフォルトの名無しさん
2020/01/09(木) 12:33:47.44ID:0RBXSUPh numpy とか pandas 使うとそっちで解決しちゃう
116デフォルトの名無しさん
2020/01/09(木) 12:39:08.38ID:j8mTnocC >>110
それ答えてもいいけど、過去何度も何度も繰り返された議論が始まるだけだぞ
それ答えてもいいけど、過去何度も何度も繰り返された議論が始まるだけだぞ
117デフォルトの名無しさん
2020/01/09(木) 12:45:59.86ID:81iybZRX118デフォルトの名無しさん
2020/01/09(木) 15:59:03.66ID:VxfXfT1S >>111
string = '¥x82¥xa0¥x82¥xa2¥x82¥xa4'
hexstr = string.encode('unicode_escape').decode('utf-8').replace('¥¥x', '')
print(bytes.fromhex(hexstr).decode('cp932'))
https://www.onlinegdb.com/ByuRArNxI
string = '¥x82¥xa0¥x82¥xa2¥x82¥xa4'
hexstr = string.encode('unicode_escape').decode('utf-8').replace('¥¥x', '')
print(bytes.fromhex(hexstr).decode('cp932'))
https://www.onlinegdb.com/ByuRArNxI
119デフォルトの名無しさん
2020/01/09(木) 16:52:22.09ID:OQFCwUQr l = [[1,2,3],[4,5]]
から
[1,2,3,4,5]
に変形したいのですが、リスト内包表記だけでできますか?
から
[1,2,3,4,5]
に変形したいのですが、リスト内包表記だけでできますか?
120デフォルトの名無しさん
2020/01/09(木) 17:49:39.42ID:CxgUH5at121デフォルトの名無しさん
2020/01/09(木) 18:04:23.16ID:VxfXfT1S122デフォルトの名無しさん
2020/01/09(木) 18:05:14.78ID:VxfXfT1S123デフォルトの名無しさん
2020/01/09(木) 18:11:11.27ID:CxgUH5at124デフォルトの名無しさん
2020/01/09(木) 18:53:25.08ID:KHoLcO1x >>119
sum(l,[])
sum(l,[])
125デフォルトの名無しさん
2020/01/09(木) 19:12:34.29ID:NaQHxKOV127デフォルトの名無しさん
2020/01/09(木) 19:56:28.10ID:nuQhSBU1 map, reduce, filterと来れば次はflatten
でもpython標準にはない
でもpython標準にはない
128デフォルトの名無しさん
2020/01/09(木) 20:03:36.46ID:vYl+3riX >>> np.array([[1,2,3],[4,5,6]]).flatten()
array([1, 2, 3, 4, 5, 6])
>>> np.array([[1,2,3],[4,5]]).flatten()
array([[1, 2, 3], [4, 5]], dtype=object)
めんどいな
array([1, 2, 3, 4, 5, 6])
>>> np.array([[1,2,3],[4,5]]).flatten()
array([[1, 2, 3], [4, 5]], dtype=object)
めんどいな
129デフォルトの名無しさん
2020/01/09(木) 20:06:14.36ID:vYl+3riX >>> pd.DataFrame([[1,2,3],[4,5]]).flatten()
AttributeError: 'DataFrame' object has no attribute 'flatten'
>>> pd.Series([[1,2,3],[4,5]]).flatten()
AttributeError: 'Series' object has no attribute 'flatten'
>>> list(int(_[1]) for _ in pd.concat(pd.Series(_[1:]) for _ in pd.DataFrame([[1,2,3],[4,5]]).itertuples()).iteritems() if not np.isnan(_[1]))
[1, 2, 3, 4, 5]
めんどい
AttributeError: 'DataFrame' object has no attribute 'flatten'
>>> pd.Series([[1,2,3],[4,5]]).flatten()
AttributeError: 'Series' object has no attribute 'flatten'
>>> list(int(_[1]) for _ in pd.concat(pd.Series(_[1:]) for _ in pd.DataFrame([[1,2,3],[4,5]]).itertuples()).iteritems() if not np.isnan(_[1]))
[1, 2, 3, 4, 5]
めんどい
130デフォルトの名無しさん
2020/01/09(木) 20:41:39.72ID:ZiyVM7wM df.query("tag.str.contains('log')")
だと、'LOG'や'Log'にマッチしないですが、queryを使った何か方法あります?
だと、'LOG'や'Log'にマッチしないですが、queryを使った何か方法あります?
131デフォルトの名無しさん
2020/01/09(木) 20:49:32.76ID:vYl+3riX df.query("tag.str.contains('log') or tag.str.contains('LOG') or tag.str.contains('Log')")
132デフォルトの名無しさん
2020/01/09(木) 20:50:05.73ID:hJpPvhWv dfにlower()を適用した行を追加する
133デフォルトの名無しさん
2020/01/09(木) 20:54:34.17ID:vYl+3riX df.query("tag.str.contains('log', case=False)")
または
df.query("tag.str.contains('[lL][oO][gG]')")
または
df.query("tag.str.contains('[lL][oO][gG]')")
134130
2020/01/09(木) 20:59:41.18ID:ZiyVM7wM case=Falseでいいです。
おっさんありがとう。
おっさんありがとう。
135デフォルトの名無しさん
2020/01/09(木) 21:05:50.10ID:o7IUVb3B あなたのハゲにサクセスしたい
136デフォルトの名無しさん
2020/01/09(木) 22:29:38.19ID:rdMUJkc5 散布図書いて
凡例1:回帰直線あり
凡例2:回帰直線なし
としたいんですが
sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips, legend=False, fit_reg=False)
とfit_regを使うと凡例1、2とも回帰直線あり、なしで統一されますよね。
凡例ごとに回帰直線あり、なしを設定する方法ないでしょうか?
凡例1:回帰直線あり
凡例2:回帰直線なし
としたいんですが
sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips, legend=False, fit_reg=False)
とfit_regを使うと凡例1、2とも回帰直線あり、なしで統一されますよね。
凡例ごとに回帰直線あり、なしを設定する方法ないでしょうか?
137デフォルトの名無しさん
2020/01/09(木) 22:30:27.61ID:rdMUJkc5 もしくはlmplotで凡例1の回帰直線を書いて、
その後に凡例にの散布図を重ねるとかできるといいのですが・・・。
その後に凡例にの散布図を重ねるとかできるといいのですが・・・。
138デフォルトの名無しさん
2020/01/10(金) 08:58:33.71ID:rEsoa4AS pywinautoをインストールし、以下を実行するとエラーが出ます。
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from pywinauto.application import Application
---中略----
TypeError: item 2 in _argtypes_ passes a union by value, which is unsupported.
>>>
何かご存じの方いらっしゃいませんか?
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from pywinauto.application import Application
---中略----
TypeError: item 2 in _argtypes_ passes a union by value, which is unsupported.
>>>
何かご存じの方いらっしゃいませんか?
139デフォルトの名無しさん
2020/01/10(金) 17:45:23.17ID:DFPKFrGt win32apiは用意されてるのかな
140デフォルトの名無しさん
2020/01/10(金) 18:01:26.41ID:rEsoa4AS141デフォルトの名無しさん
2020/01/10(金) 18:33:13.96ID:ygDjj+Gv142デフォルトの名無しさん
2020/01/10(金) 19:11:57.27ID:rEsoa4AS143デフォルトの名無しさん
2020/01/11(土) 12:56:53.77ID:+sNn4E0T Webサイトの動的なパラメータを取得し、
PythonでCSVに保存したいのですが、
requestsでのJSの動的なパラメーターの操作・取得方法が分かりません。
どのようにしたらいいでしょうか?
具体的には"https://fast.com/ja/"で通信速度を定期的に
測りたいです。
PythonでCSVに保存したいのですが、
requestsでのJSの動的なパラメーターの操作・取得方法が分かりません。
どのようにしたらいいでしょうか?
具体的には"https://fast.com/ja/"で通信速度を定期的に
測りたいです。
144デフォルトの名無しさん
2020/01/11(土) 13:14:12.97ID:I3GzSO2X api直で叩けるならrequestsでいいけど、
普通はseleniumの出番じゃないかな。
結果表示のelementが表示されるまで待って、そのあとselectorを使って読み取る。
普通はseleniumの出番じゃないかな。
結果表示のelementが表示されるまで待って、そのあとselectorを使って読み取る。
145デフォルトの名無しさん
2020/01/11(土) 18:57:41.73ID:8SjMRVd0 wxpythonのcomboboxを連携させる場合ってどうやればいいんですかね?
gyou = ('あ行','か行','さ行')
a = ('あたい,'いか','うなぎ','えのぐ,'おもいで')
k = ('かみなり','きなこ','くまで','けむし','こたつ')
s = ('さしみ','しらす','するめ','めまい','もも')
のリストを作り、
combobox_1 = wx.Combobox(panel1, -1, choices = '行',style=wx.CB_DROPDOWN, pos=(0, 390),size=(150, 20))
で選択された値をcombobox_2に反映させたいのですが、うまくいきません
gyou = ('あ行','か行','さ行')
a = ('あたい,'いか','うなぎ','えのぐ,'おもいで')
k = ('かみなり','きなこ','くまで','けむし','こたつ')
s = ('さしみ','しらす','するめ','めまい','もも')
のリストを作り、
combobox_1 = wx.Combobox(panel1, -1, choices = '行',style=wx.CB_DROPDOWN, pos=(0, 390),size=(150, 20))
で選択された値をcombobox_2に反映させたいのですが、うまくいきません
146デフォルトの名無しさん
2020/01/11(土) 19:07:58.90ID:l/QLWHKH147デフォルトの名無しさん
2020/01/11(土) 19:12:33.28ID:l/QLWHKH149デフォルトの名無しさん
2020/01/11(土) 22:10:14.08ID:mXX0vnIh 全体の質問スレがなかったのでここに質問します
私はWebサービス作れたら面白いな程度に考えています。そこで質問があります。いきなりPythonで大丈夫でしょうか?基盤となる他の言語があるのでしょうか?また、Webサービスを作れるものなのでしょうか?具体例ではTwitterなど超有名なものが出されるので…
私はWebサービス作れたら面白いな程度に考えています。そこで質問があります。いきなりPythonで大丈夫でしょうか?基盤となる他の言語があるのでしょうか?また、Webサービスを作れるものなのでしょうか?具体例ではTwitterなど超有名なものが出されるので…
150デフォルトの名無しさん
2020/01/11(土) 22:18:24.21ID:IeHCZeyd 型ヒントつけまくったら速度って向上すんのかな
あくまで可読性の問題?
あくまで可読性の問題?
151デフォルトの名無しさん
2020/01/11(土) 22:20:37.40ID:mXX0vnIh これくだすれってコードすれですかね?
でしたら上のやつ無視してくださいすみません
でしたら上のやつ無視してくださいすみません
152デフォルトの名無しさん
2020/01/11(土) 22:31:40.00ID:tdQ2h9sk くだすれって何なの?
意味がわからん
意味がわからん
153デフォルトの名無しさん
2020/01/11(土) 22:56:40.09ID:cnAODivo >>150
type hintは基本的に3rd partyのtype checker用なので
何もせずに速度が向上したりはしない
型をチェックして適切な実装を選択することで実行速度が変わるようなロジックを自分で作ったり
そういうライブラリを使えばhint無しよりは速度が向上する可能性はなきにしもあらず
3.7より前のバージョンはtype hintをコードの読み込み時に評価するので
評価コストの分だけtype hintがあると読み込みが遅い(らしいが、気にしたことはない)
type hintは基本的に3rd partyのtype checker用なので
何もせずに速度が向上したりはしない
型をチェックして適切な実装を選択することで実行速度が変わるようなロジックを自分で作ったり
そういうライブラリを使えばhint無しよりは速度が向上する可能性はなきにしもあらず
3.7より前のバージョンはtype hintをコードの読み込み時に評価するので
評価コストの分だけtype hintがあると読み込みが遅い(らしいが、気にしたことはない)
154デフォルトの名無しさん
2020/01/11(土) 22:57:26.01ID:/PybViq/ >>149
WebサービスはWebの知識があればPythonとPythonのフレームワークで構築できます
WebサービスはWebの知識があればPythonとPythonのフレームワークで構築できます
155デフォルトの名無しさん
2020/01/11(土) 23:10:13.39ID:mXX0vnIh >>154
ありがとうございます!Webの知識もないプログラム初心者なのでHTML・CSSを学んでから、または学びつつPythonを勉強しようと思います!
ありがとうございます!Webの知識もないプログラム初心者なのでHTML・CSSを学んでから、または学びつつPythonを勉強しようと思います!
156デフォルトの名無しさん
2020/01/11(土) 23:16:15.67ID:cnAODivo Webの知識にはHTML/CSSだでなく
HTTP, JavaScript(初級)/DOM, 各種ブラウザの開発ツール使い方
くらいは含まれてると思われる
サーバーサイドはパフォーマンス気にしなければPythonだけでほぼなんでもできるが
モバイルアプリやリッチなWebクライアントはPythonだけでは作れない
HTTP, JavaScript(初級)/DOM, 各種ブラウザの開発ツール使い方
くらいは含まれてると思われる
サーバーサイドはパフォーマンス気にしなければPythonだけでほぼなんでもできるが
モバイルアプリやリッチなWebクライアントはPythonだけでは作れない
157デフォルトの名無しさん
2020/01/11(土) 23:22:24.84ID:mXX0vnIh158デフォルトの名無しさん
2020/01/11(土) 23:32:59.83ID:IeHCZeyd159デフォルトの名無しさん
2020/01/12(日) 01:21:03.35ID:PW2KE/yt >>143-144
Ruby, selenium webdriver, headless モードで、38 Mbps
sleep 45 が無いと、すぐに、0 が取得されてしまう!
つまり、このdiv が、最初から存在していて、0になっているのだろう。
<div class="speed-results-container succeeded" id="speed-value">0</div>
理想的には、結果が出たときに現れる、要素を待つのが良い。
その方が、sleep で時間指定しないで済むから
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 60 # 要素の検索の timeout
driver.navigate.to "https://fast.com/ja/"
sleep 45
puts driver.find_element( :id, "speed-value" ).text
driver.quit
Ruby, selenium webdriver, headless モードで、38 Mbps
sleep 45 が無いと、すぐに、0 が取得されてしまう!
つまり、このdiv が、最初から存在していて、0になっているのだろう。
<div class="speed-results-container succeeded" id="speed-value">0</div>
理想的には、結果が出たときに現れる、要素を待つのが良い。
その方が、sleep で時間指定しないで済むから
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 60 # 要素の検索の timeout
driver.navigate.to "https://fast.com/ja/"
sleep 45
puts driver.find_element( :id, "speed-value" ).text
driver.quit
160デフォルトの名無しさん
2020/01/12(日) 03:20:28.12ID:M8sF3s6B161デフォルトの名無しさん
2020/01/12(日) 03:26:40.80ID:8P2rssJG 次のプロジェクトを何の言語でやるか、検討した結果PHP派とPython派に分かれた。
Rubyはみんな嫌がった。
Rubyはみんな嫌がった。
162デフォルトの名無しさん
2020/01/12(日) 03:27:02.71ID:aGAZplX2163デフォルトの名無しさん
2020/01/12(日) 10:35:42.78ID:eDYJZWaK データフレームで
target shape
1 0
0 1
1 1
としたときtarget==shapeのデータをスライスとして取り出したいのですが、
同一データフレーム内のデータを比較してスライスするにはどうすれば良いのでしょう?
target shape
1 0
0 1
1 1
としたときtarget==shapeのデータをスライスとして取り出したいのですが、
同一データフレーム内のデータを比較してスライスするにはどうすれば良いのでしょう?
164デフォルトの名無しさん
2020/01/12(日) 11:16:34.31ID:/bwylFW9 df[df[‘target’]==df[‘shape’]]
または
df.query(‘target==shape’)
または
df.query(‘target==shape’)
165デフォルトの名無しさん
2020/01/12(日) 12:31:28.08ID:eDYJZWaK166デフォルトの名無しさん
2020/01/12(日) 12:34:18.40ID:eDYJZWaK a=Fale, b=True
だけをスライスしたいのですが、
df_correct = df[df['a'] == False & (df['b']==True)]
とすると
a==False
の条件でスライスされ
b==True
が無視されます。
なぜなんでしょう?
だけをスライスしたいのですが、
df_correct = df[df['a'] == False & (df['b']==True)]
とすると
a==False
の条件でスライスされ
b==True
が無視されます。
なぜなんでしょう?
167デフォルトの名無しさん
2020/01/12(日) 12:35:45.17ID:eDYJZWaK168デフォルトの名無しさん
2020/01/12(日) 13:20:04.86ID:eDYJZWaK169デフォルトの名無しさん
2020/01/12(日) 13:20:54.36ID:eDYJZWaK >>164
python的には内包表記とqueryではどちらが推奨なんでしょうか?
python的には内包表記とqueryではどちらが推奨なんでしょうか?
170デフォルトの名無しさん
2020/01/12(日) 13:48:50.66ID:AzrAZmp9 python 3 で16進数文字列をutf-8文字列に変えたいんですが、簡単な方法ないですか?
171デフォルトの名無しさん
2020/01/12(日) 14:24:18.86ID:M8sF3s6B172デフォルトの名無しさん
2020/01/12(日) 15:47:52.03ID:iU1LDXiT いつのまにかインデントが崩れて正常に動作しなくなってた
でも中括弧がないので元の状態が分からない
元に戻せない
でも中括弧がないので元の状態が分からない
元に戻せない
173デフォルトの名無しさん
2020/01/12(日) 19:12:52.42ID:N3Z2zUK8 import binascii
print('あ'.encode('utf-8'))
print(binascii.a2b_hex('e38182'))
print(binascii.a2b_hex('e38182').decode('utf-8'))
print('あ'.encode('utf-8'))
print(binascii.a2b_hex('e38182'))
print(binascii.a2b_hex('e38182').decode('utf-8'))
174デフォルトの名無しさん
2020/01/12(日) 20:02:34.80ID:7XI25yF1 >>172
ワロタwwwwww
ワロタwwwwww
175159
2020/01/12(日) 20:18:51.94ID:PW2KE/yt >>160
<div class="speed-results-container succeeded" id="speed-value">0</div>
この要素は、sleep 45 が無いと、すぐに、0 が取得されてしまう!
つまり、このdiv が、最初から存在していて、0になっているのだろう
このサイトを1分ぐらい見てると、数値が動くだろ
たぶん、1分ぐらい掛けて、何回も非同期処理で、この値を書き換えている。
だから、1分近く待たないと、速度が安定しない
<div class="speed-results-container succeeded" id="speed-value">0</div>
この要素は、sleep 45 が無いと、すぐに、0 が取得されてしまう!
つまり、このdiv が、最初から存在していて、0になっているのだろう
このサイトを1分ぐらい見てると、数値が動くだろ
たぶん、1分ぐらい掛けて、何回も非同期処理で、この値を書き換えている。
だから、1分近く待たないと、速度が安定しない
176デフォルトの名無しさん
2020/01/12(日) 20:56:59.94ID:UO120eKA お金を計算するわけでもないのですが
小数点の計算に全部decimalつけるの面倒なんですけど
何とかならないですか?
小数点の計算に全部decimalつけるの面倒なんですけど
何とかならないですか?
177デフォルトの名無しさん
2020/01/12(日) 21:09:49.97ID:M8sF3s6B >>175
「0 が取得されてしまう!」じゃねーよ
もうちょっと頭つかってくれ
速度が安定するまで待ちたいなら
「wait until 速度が安定?」みたいなコードを書けばいいだけだろ
測定完了を示す状態変化があるのに
わざわざ速度が安定したかどうかで判定する必要もないんだけどさ
「0 が取得されてしまう!」じゃねーよ
もうちょっと頭つかってくれ
速度が安定するまで待ちたいなら
「wait until 速度が安定?」みたいなコードを書けばいいだけだろ
測定完了を示す状態変化があるのに
わざわざ速度が安定したかどうかで判定する必要もないんだけどさ
178159
2020/01/12(日) 21:32:01.79ID:PW2KE/yt 他人のサイトをデバッグ・解析して、測定完了を示す状態を見つけるとか、それは大変!
仕様書もないのに、できない。
そういう解析を仕事としては色々やってきたけど、面倒
仕様書もないのに、できない。
そういう解析を仕事としては色々やってきたけど、面倒
179デフォルトの名無しさん
2020/01/12(日) 21:59:15.48ID:LmjMg5d7 rubyくん
ID変え忘れてるよ
ID変え忘れてるよ
180デフォルトの名無しさん
2020/01/12(日) 23:01:37.62ID:aXgbqZV+ こんにちは質問させてください。
20190112, A, 91
20190112, B, 82
20190111, A, 93
…
という感じで[日付,名前, 得点]の3カラムのデータがあり、各行の日付段階での、
その人の過去30日平均得点(人別の得点の移動平均)をできるだけ高速に計算したいのですが、
どのようにすればよいでしょうか?
なお、今はsqliteで、以下のような原始的なプログラムを書いてみましたが、遅くて困っております。
# date, nameの組み合わせを抜き出し
list = cur.execute('select date, name from table').fetchall
# listすべてにfor文で処理
for i in range(len(list)):
date = list[i][0]
name = list[i][1]
# dateから30日前の日付を計算
date30before (計算略)
# nameが一致しているそのデータから過去30日分のスコアを抜き出し
scoreList = cur.execute('select score from table where name == ? and ? < date < ?',(date30before, date)).fetchall
# 抜き出した30日分のスコアを平均
scoreListAve(計算略)
# 元のテーブルのdate, nameが一致する行に書き込み
cur.execute('update table set score30Ave = ? where date = ? and name == ?'),(scoreListAve, date, name))
con.commit() # for後、コミット
20190112, A, 91
20190112, B, 82
20190111, A, 93
…
という感じで[日付,名前, 得点]の3カラムのデータがあり、各行の日付段階での、
その人の過去30日平均得点(人別の得点の移動平均)をできるだけ高速に計算したいのですが、
どのようにすればよいでしょうか?
なお、今はsqliteで、以下のような原始的なプログラムを書いてみましたが、遅くて困っております。
# date, nameの組み合わせを抜き出し
list = cur.execute('select date, name from table').fetchall
# listすべてにfor文で処理
for i in range(len(list)):
date = list[i][0]
name = list[i][1]
# dateから30日前の日付を計算
date30before (計算略)
# nameが一致しているそのデータから過去30日分のスコアを抜き出し
scoreList = cur.execute('select score from table where name == ? and ? < date < ?',(date30before, date)).fetchall
# 抜き出した30日分のスコアを平均
scoreListAve(計算略)
# 元のテーブルのdate, nameが一致する行に書き込み
cur.execute('update table set score30Ave = ? where date = ? and name == ?'),(scoreListAve, date, name))
con.commit() # for後、コミット
181デフォルトの名無しさん
2020/01/12(日) 23:44:09.77ID:8exfRg1S 少なくともSELECT文はfor文で回す必要がないように見える
ウィンドウ関数とか使って、1回のSELECT文けで、その後のUPDATE文の条件として使いたいscoreListAve, date, nameを抽出出来るはず
ウィンドウ関数とか使って、1回のSELECT文けで、その後のUPDATE文の条件として使いたいscoreListAve, date, nameを抽出出来るはず
182180
2020/01/12(日) 23:53:05.86ID:aXgbqZV+ >181
ウインドウ関数を知らないので調べてみます。
ありがとうございます。
ウインドウ関数を知らないので調べてみます。
ありがとうございます。
183デフォルトの名無しさん
2020/01/13(月) 01:51:12.33ID:6QaMEdT1 where の条件に、日付・名前があって、
それらに索引インデックスが付いていないのなら、絞り込めず、全探索になるから!
例えば、100万レコードあれば、それらをすべて検索してから、チェックするから!
基本的には、検索条件に索引インデックスが付いていないものは、全探索になるから検索しない!
情報処理資格のデータベーススペシャリストの教科書で、
データベースの設計を勉強すべし!
それらに索引インデックスが付いていないのなら、絞り込めず、全探索になるから!
例えば、100万レコードあれば、それらをすべて検索してから、チェックするから!
基本的には、検索条件に索引インデックスが付いていないものは、全探索になるから検索しない!
情報処理資格のデータベーススペシャリストの教科書で、
データベースの設計を勉強すべし!
184180
2020/01/13(月) 02:43:19.89ID:wBE7Qmaa >183
助言ありがとうございます。
書き忘れましたがname, dateのIndexはすでに作ってます。
cur.execute('create index dateIndex on table(date)')
Indexでだいぶましになったのですが、それでも現状、
forが100進むのに1秒くらいなので、20万レコードで30分くらいかかります。
助言ありがとうございます。
書き忘れましたがname, dateのIndexはすでに作ってます。
cur.execute('create index dateIndex on table(date)')
Indexでだいぶましになったのですが、それでも現状、
forが100進むのに1秒くらいなので、20万レコードで30分くらいかかります。
185デフォルトの名無しさん
2020/01/13(月) 04:48:03.15ID:nfiKoGl1 歯抜け無しならWindow関数で
歯抜け有りなら相関サブクエリで
― Window関数 ―
SELECT date, name, score, avg(score) OVER (
PARTITION BY name ORDER BY date ROWS BETWEEN 29 PRECEDING AND CURRENT ROW
) AS moving_avg
FROM score_table
ORDER BY name;
歯抜け有りなら相関サブクエリで
― Window関数 ―
SELECT date, name, score, avg(score) OVER (
PARTITION BY name ORDER BY date ROWS BETWEEN 29 PRECEDING AND CURRENT ROW
) AS moving_avg
FROM score_table
ORDER BY name;
186デフォルトの名無しさん
2020/01/13(月) 04:59:38.72ID:nfiKoGl1 相関サブクエリのほうはブロックされたからここに貼っとく
https://ideone.com/73jaTZ
https://ideone.com/73jaTZ
187180
2020/01/13(月) 05:49:10.94ID:wBE7Qmaa >185
大変ありがとうございます。
歯抜け有りなので相関サブクエリの方をまず試してみます。
ここまで見本のコードを書いていただければ自分のレベルでも
なんとか取り入れられそうです。
大変ありがとうございます。
歯抜け有りなので相関サブクエリの方をまず試してみます。
ここまで見本のコードを書いていただければ自分のレベルでも
なんとか取り入れられそうです。
188デフォルトの名無しさん
2020/01/13(月) 09:52:19.26ID:kwqyPibM189デフォルトの名無しさん
2020/01/13(月) 09:57:49.58ID:Co2mHaqk >>180のコードでメモリが足りているならsqlをどうこうする必要はないと思うが。
190デフォルトの名無しさん
2020/01/13(月) 10:30:58.73ID:BvowWoiX 1回のクエリで行けるところを、わざわざループでクエリ投げまくる意味はないでしょ
191デフォルトの名無しさん
2020/01/13(月) 10:58:18.23ID:bfpXOE5X クエリが苦手でPythoに慣れているなら意味はある
クエリは言語としては非常に特殊だからね
常用しない人にはとっつきづらい
クエリは言語としては非常に特殊だからね
常用しない人にはとっつきづらい
192デフォルトの名無しさん
2020/01/13(月) 10:59:15.38ID:Yl8Am7cI SQLの書き方次第で100倍は効率良くなる事案
193デフォルトの名無しさん
2020/01/13(月) 11:38:01.76ID:nlvLw0Pz194デフォルトの名無しさん
2020/01/13(月) 13:13:36.22ID:V22NtS8V 距離を計算したいのですが、
df['distance']=math.sqrt((df['x_distance']**2+df['y_distance']**2).values)
で
only size-1 arrays can be converted to Python scalars
となります。
DFを.valueつけてndarrayに変換してsqrt()に渡せばいいのかと思ったのですが・・・
お教えいただけると助かります
df['distance']=math.sqrt((df['x_distance']**2+df['y_distance']**2).values)
で
only size-1 arrays can be converted to Python scalars
となります。
DFを.valueつけてndarrayに変換してsqrt()に渡せばいいのかと思ったのですが・・・
お教えいただけると助かります
195デフォルトの名無しさん
2020/01/13(月) 13:19:03.45ID:S1eVQBPA valuesで取ってから二乗して和をとってしないと行けないんじゃないの
196デフォルトの名無しさん
2020/01/13(月) 13:21:21.99ID:dQZR7cFx https://pastebin.com/dLSjsvev
このコメントアウトしているコードを実行するとエラーが出るのですが、何が悪いのでしょうか?
このコメントアウトしているコードを実行するとエラーが出るのですが、何が悪いのでしょうか?
197デフォルトの名無しさん
2020/01/13(月) 13:24:28.21ID:uorRSC+x198デフォルトの名無しさん
2020/01/13(月) 13:37:39.33ID:+xCO6TbN >>196
formatなんて組み込み関数はない
formatなんて組み込み関数はない
199デフォルトの名無しさん
2020/01/13(月) 13:41:07.13ID:DXn4EK/n Python学びたいんだけどどっから手を付けていいかわからん。
取り敢えず、クジラ本 「実践力を身につける Pythonの教科書」(4839960240)は買ってきた。
取り敢えず、クジラ本 「実践力を身につける Pythonの教科書」(4839960240)は買ってきた。
200デフォルトの名無しさん
2020/01/13(月) 13:44:12.30ID:V22NtS8V201デフォルトの名無しさん
2020/01/13(月) 14:08:01.51ID:IO5oYjrW 教えて下さい。
pythonのコードを友人に書いてもらったのですが標準のIDLEではRunModuleで
実行できるのにコマンドプロンプトで実行しようとしたら以下のエラーを吐きます。
python3.6.5
windows10
Traceback (most recent call last):
File "C:\Users\user\Desktop\201911_Project_\201911_Project_\sendMailLogic.py", line 19, in <module>
WebSiteList = dac.getWebSiteList()
File "C:\Users\user\Desktop\201911_Project_\201911_Project_\DAC.py", line 96, in getWebSiteList
for row in cur.execute(strSQL):
sqlite3.OperationalError: no such table: WebSite_List
よろしくお願いします。
pythonのコードを友人に書いてもらったのですが標準のIDLEではRunModuleで
実行できるのにコマンドプロンプトで実行しようとしたら以下のエラーを吐きます。
python3.6.5
windows10
Traceback (most recent call last):
File "C:\Users\user\Desktop\201911_Project_\201911_Project_\sendMailLogic.py", line 19, in <module>
WebSiteList = dac.getWebSiteList()
File "C:\Users\user\Desktop\201911_Project_\201911_Project_\DAC.py", line 96, in getWebSiteList
for row in cur.execute(strSQL):
sqlite3.OperationalError: no such table: WebSite_List
よろしくお願いします。
202デフォルトの名無しさん
2020/01/13(月) 14:16:44.85ID:6kghygIo203デフォルトの名無しさん
2020/01/13(月) 15:42:49.08ID:V22NtS8V 2Dカードゲームでユーザの行動特性を調査する
研究用アプリを開発しようと思ってます
開発環境をPygameにするか、Unityにするかで悩み中
Unityのほうが色々ゲーム用の機能揃ってて見栄えの良いUI作れそうなんだけど、
ユーザの行動データを数値解析したり、将来的には機械学習も取り入れようかと思ってるので、
その点ではPythonのほうが親和性高そう
どちらが、おすすめとかありますか?
研究用アプリを開発しようと思ってます
開発環境をPygameにするか、Unityにするかで悩み中
Unityのほうが色々ゲーム用の機能揃ってて見栄えの良いUI作れそうなんだけど、
ユーザの行動データを数値解析したり、将来的には機械学習も取り入れようかと思ってるので、
その点ではPythonのほうが親和性高そう
どちらが、おすすめとかありますか?
204デフォルトの名無しさん
2020/01/13(月) 15:43:53.12ID:V22NtS8V ちなみにUnity、c#のほうが少しは得意
Pythonは最近sklearnとか使い始めたくらいの超初心者です
Pythonは最近sklearnとか使い始めたくらいの超初心者です
205デフォルトの名無しさん
2020/01/13(月) 15:51:01.10ID:tF3chcAw それは
※ただし、選択できるプログラミング言語は一つだけとする
というような縛りプレイルールが暗黙的に存在すると考えていいのかしら?
でなかったら俺はゲームをUntiyで書いて機械学習をPythonでやるかな
※ただし、選択できるプログラミング言語は一つだけとする
というような縛りプレイルールが暗黙的に存在すると考えていいのかしら?
でなかったら俺はゲームをUntiyで書いて機械学習をPythonでやるかな
206デフォルトの名無しさん
2020/01/13(月) 15:52:19.18ID:ghAse/mn 親和性って書いてるだろ
207デフォルトの名無しさん
2020/01/13(月) 15:54:55.78ID:tF3chcAw だから、親和性を最優先にするならそれぞれ得意分野に使うのが最善に決まってるだろw
はぁーガイジは人間に進化するまでママと遊んでてくれないかね
はぁーガイジは人間に進化するまでママと遊んでてくれないかね
208デフォルトの名無しさん
2020/01/13(月) 15:58:12.59ID:ghAse/mn それ親和性優先してねーじゃん
209デフォルトの名無しさん
2020/01/13(月) 16:08:32.64ID:GhUCXbF0 >>208
何と何の親和性について語ってるの?
何と何の親和性について語ってるの?
210デフォルトの名無しさん
2020/01/13(月) 16:10:23.44ID:ghAse/mn ゲームエンジンと機械学習エンジンの接続
211デフォルトの名無しさん
2020/01/13(月) 17:01:18.46ID:IO5oYjrW212デフォルトの名無しさん
2020/01/13(月) 17:03:03.66ID:6kghygIo >>211
コマンドプロンプトのカレントディレクトリがIDLEのカレントディレクトリと違ってるんだろ
コマンドプロンプトのカレントディレクトリがIDLEのカレントディレクトリと違ってるんだろ
213デフォルトの名無しさん
2020/01/13(月) 17:15:24.55ID:nfiKoGl1 >>203
それ前も聞いてたけど公開して広くデータを取得する可能性考えたらJavaScript一択だと思うぞ
それにカードゲームというのがいわゆるソシャゲ系で
アクションや派手なエフェクトを多用するやつならともかく
トランプ系の動きの少ないやつならHTML/CSS使ったほうがはるかに簡単
研究室にテスター呼んでやってもらうだけなら
自分が作りやすさだけ考えればいいんだろうけど
その場合でもデータ連携で十分なんだから
得意分野の違う言語を無理やり一つにする意味あんまりない
それ前も聞いてたけど公開して広くデータを取得する可能性考えたらJavaScript一択だと思うぞ
それにカードゲームというのがいわゆるソシャゲ系で
アクションや派手なエフェクトを多用するやつならともかく
トランプ系の動きの少ないやつならHTML/CSS使ったほうがはるかに簡単
研究室にテスター呼んでやってもらうだけなら
自分が作りやすさだけ考えればいいんだろうけど
その場合でもデータ連携で十分なんだから
得意分野の違う言語を無理やり一つにする意味あんまりない
214デフォルトの名無しさん
2020/01/13(月) 17:58:01.77ID:nfiKoGl1 >>184
書き忘れたが nameとdateにそれぞれindex張るんじゃなく
(name, date)のcomposite indexにしたほうが速くなるはず
julianday()を使えば歯抜け有りでもWindow関数でいけた
これ使う場合はindexも(name, julianday(date))に
PARTITION BY name ORDER BY julianday(date) RANGE BETWEEN 29 PRECEDING AND CURRENT ROW
書き忘れたが nameとdateにそれぞれindex張るんじゃなく
(name, date)のcomposite indexにしたほうが速くなるはず
julianday()を使えば歯抜け有りでもWindow関数でいけた
これ使う場合はindexも(name, julianday(date))に
PARTITION BY name ORDER BY julianday(date) RANGE BETWEEN 29 PRECEDING AND CURRENT ROW
215デフォルトの名無しさん
2020/01/13(月) 18:01:34.92ID:V22NtS8V >>213
ごめんなさい
今やってることの次の研究なので、定期的に頭の中に湧いてくるみたいです。
Unityで行こうと思ってたんだけど、Pythonで機械学習の初歩も学び始めたら、
Pythonでやったほうがいいのかまた悩みはじめました
前は
Unityカードゲーム
↓
データCSVで吐き出し
↓
Pythonで解析
と考えていたけど、カードゲーム中にもデータを機械学習させて、カードゲームの設定をいじるとかしたくなってきました。
そうするとPygameでやったほうがいいのかなと思うんだけど、Pygameの評判があまり良くないようなので、グルグル思案中・・・。
ごめんなさい
今やってることの次の研究なので、定期的に頭の中に湧いてくるみたいです。
Unityで行こうと思ってたんだけど、Pythonで機械学習の初歩も学び始めたら、
Pythonでやったほうがいいのかまた悩みはじめました
前は
Unityカードゲーム
↓
データCSVで吐き出し
↓
Pythonで解析
と考えていたけど、カードゲーム中にもデータを機械学習させて、カードゲームの設定をいじるとかしたくなってきました。
そうするとPygameでやったほうがいいのかなと思うんだけど、Pygameの評判があまり良くないようなので、グルグル思案中・・・。
216180
2020/01/13(月) 19:27:28.23ID:wBE7Qmaa 180ですが、教えてもらった相関サブクエリによるselectのやり方で
20万レコード30分くらいかかってたのが2分くらいまで短縮できました。
助かりました。
select後、sqlに保存は依然としてfor文ですが、それも込みで2分です。
保存部分もまとめて、
update table t1 set (select avg(score) …
というやり方ができないかと思って試しましたが、うまくできませんでした。
たぶん、最初にコメントされた方はそこもわかった上で
「少なくともselect文は」と言われたのでしょう。
ウインドウ関数、コンポジットインデックスも教えてくださりありがとうございます。
また試してみます。
20万レコード30分くらいかかってたのが2分くらいまで短縮できました。
助かりました。
select後、sqlに保存は依然としてfor文ですが、それも込みで2分です。
保存部分もまとめて、
update table t1 set (select avg(score) …
というやり方ができないかと思って試しましたが、うまくできませんでした。
たぶん、最初にコメントされた方はそこもわかった上で
「少なくともselect文は」と言われたのでしょう。
ウインドウ関数、コンポジットインデックスも教えてくださりありがとうございます。
また試してみます。
217デフォルトの名無しさん
2020/01/13(月) 19:42:53.29ID:Yl8Am7cI218180
2020/01/13(月) 20:25:11.89ID:wBE7Qmaa >217
たしかに!
意識できていなかったのですが、ちょっとスレ違いでした。すみません。
みなさんクエリがなんとかとか言って争ってる?ので
5ちゃんねるは教えてくれる人々がいつもなんか争ってるなぁとw
たしかに!
意識できていなかったのですが、ちょっとスレ違いでした。すみません。
みなさんクエリがなんとかとか言って争ってる?ので
5ちゃんねるは教えてくれる人々がいつもなんか争ってるなぁとw
219デフォルトの名無しさん
2020/01/13(月) 20:49:48.38ID:6kghygIo220デフォルトの名無しさん
2020/01/13(月) 21:20:28.09ID:nfiKoGl1 >>215
↓実装方法を選択する一般的な思考プロセスを経てないので目移りするんじゃないのかな
1. 自分が求める機能/非機能要求を整理する
2. 評価軸を決める
3. 実装方法の選択肢を考えられる限り出す
4. 選択肢のPros/Consを把握する
5. 評価軸とPros/Consからトレードオフを見極めて実装方法を選択する
UnityとかPyGameとか特定のソリューション名で考えずに
もう少し抽象度あげて選択肢を考えたほうがいいと思う
Pythonで全部やる、C#で全部やる、Python+C#のハイブリッドと大枠の選択肢があって
ハイブリッドの場合はファイル連携、DB連携、プロセス連携、API連携といろんなレベルがある
どれがいいかは上に書いた1や2が整理されてないと選びようがない
↓実装方法を選択する一般的な思考プロセスを経てないので目移りするんじゃないのかな
1. 自分が求める機能/非機能要求を整理する
2. 評価軸を決める
3. 実装方法の選択肢を考えられる限り出す
4. 選択肢のPros/Consを把握する
5. 評価軸とPros/Consからトレードオフを見極めて実装方法を選択する
UnityとかPyGameとか特定のソリューション名で考えずに
もう少し抽象度あげて選択肢を考えたほうがいいと思う
Pythonで全部やる、C#で全部やる、Python+C#のハイブリッドと大枠の選択肢があって
ハイブリッドの場合はファイル連携、DB連携、プロセス連携、API連携といろんなレベルがある
どれがいいかは上に書いた1や2が整理されてないと選びようがない
221デフォルトの名無しさん
2020/01/13(月) 21:25:54.08ID:nwry0R0l 大袈裟だな。
222デフォルトの名無しさん
2020/01/13(月) 21:52:26.47ID:FBCsPnZa 北海道のグラサンスーパーハゲザーはここにはこないのー?
223デフォルトの名無しさん
2020/01/13(月) 22:10:39.12ID:P1+rByUv >>211
WebSite_Listの読み込みやってるあたりで外部ファイル参照してない?
ファイル読み込みしてたら、ファイル名をフルパスにするか、 import osして
os.path.dirname(os.path.abspath(__file__)) + '/'+filenameにしてみたら(実行ファイルと同ディレクトリの場合)?
WebSite_Listの読み込みやってるあたりで外部ファイル参照してない?
ファイル読み込みしてたら、ファイル名をフルパスにするか、 import osして
os.path.dirname(os.path.abspath(__file__)) + '/'+filenameにしてみたら(実行ファイルと同ディレクトリの場合)?
224デフォルトの名無しさん
2020/01/13(月) 22:12:13.05ID:BvowWoiX pathlibつかえ
225デフォルトの名無しさん
2020/01/14(火) 10:02:51.83ID:RNgj0nXq >>198 何言ってんだ、あるぞ
226デフォルトの名無しさん
2020/01/14(火) 10:44:24.13ID:sNEc9p7V >>215
Pythonが機械学習部分を担当し、Unityがゲーム部分を担当し、
両者が通信を行えば言ってるようなことはできる。
(そして正直それがおすすめ)
出来ないうちに色々こんな機能も欲しいって言って考えていくと、要求ばかり大きくなって
結局何も完成しないから、まずは最小限使えるものを作ってしまうべき。
最悪のケースでも、書いたコードは無駄となるかもしれないけど、
設計手法や要素技術は身に着くのだから別のプラットフォームに移植するのに始めのときより時間がかからなくなる。
Pythonが機械学習部分を担当し、Unityがゲーム部分を担当し、
両者が通信を行えば言ってるようなことはできる。
(そして正直それがおすすめ)
出来ないうちに色々こんな機能も欲しいって言って考えていくと、要求ばかり大きくなって
結局何も完成しないから、まずは最小限使えるものを作ってしまうべき。
最悪のケースでも、書いたコードは無駄となるかもしれないけど、
設計手法や要素技術は身に着くのだから別のプラットフォームに移植するのに始めのときより時間がかからなくなる。
227デフォルトの名無しさん
2020/01/14(火) 13:35:18.55ID:Cb2SImdL 「くだすれ」ってなんですか?
228デフォルトの名無しさん
2020/01/14(火) 13:59:52.47ID:6KmUa3mX ここが起源っぽい
https://www.log ;soku.com/r/2ch.net/tech/1023766485/
https://www.log ;soku.com/r/2ch.net/tech/1023766485/
229デフォルトの名無しさん
2020/01/14(火) 14:01:21.23ID:n2n8mDAV pythonでデータベース使うならどれが簡単?
230デフォルトの名無しさん
2020/01/14(火) 14:10:20.88ID:Sh3SY+TQ sqlite3
231デフォルトの名無しさん
2020/01/14(火) 14:10:23.62ID:Cb2SImdL >>228
なんでそんな略称にしようと思ったんだろうな
なんでそんな略称にしようと思ったんだろうな
232デフォルトの名無しさん
2020/01/14(火) 14:11:37.48ID:Sh3SY+TQ くそスレ
くそが出そう半分出かかってるがトイレ遠くて困ってる
くだらないスレ
くそが出そう半分出かかってるがトイレ遠くて困ってる
くだらないスレ
233デフォルトの名無しさん
2020/01/14(火) 14:14:12.10ID:/8RfG7cV >>229
お前が何がしたいのか次第だろう
Webアプリ作ろうとしてるんだったらいくらSQLiteの扱いが簡単とはいえ選択肢に入らないし、
データ分析なんかで大きなデータセットを扱うんだったらBigQueryになるかもしれない
お前が何がしたいのか次第だろう
Webアプリ作ろうとしてるんだったらいくらSQLiteの扱いが簡単とはいえ選択肢に入らないし、
データ分析なんかで大きなデータセットを扱うんだったらBigQueryになるかもしれない
234デフォルトの名無しさん
2020/01/14(火) 14:16:57.58ID:NngjCG95 ポスグレをサイコPGで
235デフォルトの名無しさん
2020/01/14(火) 14:18:33.49ID:PBX58Pvh memcached
236デフォルトの名無しさん
2020/01/14(火) 15:32:37.37ID:ryFU8X4N >>229 sqlalchemy
237デフォルトの名無しさん
2020/01/14(火) 20:03:55.62ID:V5Q3d6Dh pandas関係です。
>>> train_df[['Embarked', 'Survived']].groupby('Embarked').mean()
Survived
Embarked
C 0.553571
Q 0.389610
S 0.336957
>>> train_df[['Embarked', 'Survived']].groupby('Embarked').count()
Survived
Embarked
C 168
Q 77
S 644
と2回メソッド実行が面倒です。
以下のようなDataFrameを得たいのですが、スマートな方法ありますか?
Mean Count
Embarked
C 0.553571 168
Q 0.389610 77
S 0.336957 644
>>> train_df[['Embarked', 'Survived']].groupby('Embarked').mean()
Survived
Embarked
C 0.553571
Q 0.389610
S 0.336957
>>> train_df[['Embarked', 'Survived']].groupby('Embarked').count()
Survived
Embarked
C 168
Q 77
S 644
と2回メソッド実行が面倒です。
以下のようなDataFrameを得たいのですが、スマートな方法ありますか?
Mean Count
Embarked
C 0.553571 168
Q 0.389610 77
S 0.336957 644
238デフォルトの名無しさん
2020/01/14(火) 20:12:28.50ID:V5Q3d6Dh 自決しました。aggを使うのですね。
239デフォルトの名無しさん
2020/01/14(火) 20:19:00.39ID:3etKzhuc 自決したのか!!!
240デフォルトの名無しさん
2020/01/14(火) 20:20:27.07ID:eL1p+DpS >>238
命は大切にしろよ
命は大切にしろよ
241デフォルトの名無しさん
2020/01/14(火) 21:48:30.83ID:sWWbL+aD 超初心者な質問で申し訳ないのですが
mの行列の縦の部分に行列Pを入れたいのですがどうしたらいいですか?
こんな感じにしたいのです
m=[[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4]]
p=[5,6,7,8]
m[0][3]=p[0]
m[1][3]=p[1]
m[2][3]=p[2]
m[3][3]=p[3]
mの行列の縦の部分に行列Pを入れたいのですがどうしたらいいですか?
こんな感じにしたいのです
m=[[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4]]
p=[5,6,7,8]
m[0][3]=p[0]
m[1][3]=p[1]
m[2][3]=p[2]
m[3][3]=p[3]
242デフォルトの名無しさん
2020/01/14(火) 22:06:55.30ID:4urAtQVN numpyが楽
import numpy as np
m=np.array(m)
p=np.array(p)
m[:,3]=p
import numpy as np
m=np.array(m)
p=np.array(p)
m[:,3]=p
243デフォルトの名無しさん
2020/01/14(火) 22:19:54.34ID:Cb2SImdL rubyでは
244241
2020/01/14(火) 22:29:22.59ID:sWWbL+aD245デフォルトの名無しさん
2020/01/14(火) 23:52:13.22ID:4urAtQVN246デフォルトの名無しさん
2020/01/15(水) 03:04:35.16ID:TeTRS4cT sklearnで機械学習のモデルに使えるクラスの一覧取得したいんですけどできますか?
247デフォルトの名無しさん
2020/01/16(木) 00:51:13.89ID:MOKFFgvW https://colab.research.google.com
https://github.com/dotnet/try/blob/master/NotebooksOnBinder.md
import sys
import platform
print(sys.version)
print(platform.platform())
Binderでの実行結果
# 3.7.3 | packaged by conda-forge | (default, Jul 1 2019, 21:52:21)
# [GCC 7.3.0]
# Linux-4.14.138+-x86_64-with-debian-buster-sid
Colaboratoryでの実行結果
3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0]
Linux-4.14.137+-x86_64-with-Ubuntu-18.04-bionic
2.7.17 (default, Nov 7 2019, 10:07:09)
[GCC 7.4.0]
Linux-4.14.137+-x86_64-with-Ubuntu-18.04-bionic
Jupyter Notebooks with .NET Core
https://github.com/dotnet/try/blob/master/Notebook.md
参考:Pythonのバージョンを確認、表示(sys.versionなど)
https://note.nkmk.me/python-sys-platform-version-info/
VSCodeがネイティブ対応したjupyterをpython3.8で動かそう
https://qiita.com/moonoct/items/22ebfb62de18d4c8a576
https://github.com/dotnet/try/blob/master/NotebooksOnBinder.md
import sys
import platform
print(sys.version)
print(platform.platform())
Binderでの実行結果
# 3.7.3 | packaged by conda-forge | (default, Jul 1 2019, 21:52:21)
# [GCC 7.3.0]
# Linux-4.14.138+-x86_64-with-debian-buster-sid
Colaboratoryでの実行結果
3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0]
Linux-4.14.137+-x86_64-with-Ubuntu-18.04-bionic
2.7.17 (default, Nov 7 2019, 10:07:09)
[GCC 7.4.0]
Linux-4.14.137+-x86_64-with-Ubuntu-18.04-bionic
Jupyter Notebooks with .NET Core
https://github.com/dotnet/try/blob/master/Notebook.md
参考:Pythonのバージョンを確認、表示(sys.versionなど)
https://note.nkmk.me/python-sys-platform-version-info/
VSCodeがネイティブ対応したjupyterをpython3.8で動かそう
https://qiita.com/moonoct/items/22ebfb62de18d4c8a576
248デフォルトの名無しさん
2020/01/16(木) 18:45:28.48ID:TdDkkYB1 ちょっとスレ違いかもしれませんが何かヒントがあれば教えてください
今はやりのDeepFaceLabをちょこっと体験してみようと思って、ローエンドのグラボ買いました
CUDA9.2版をDLして使ってみたのですが、あきらかにGPUが使われておらず、
CPUの負荷が100%になり、RAMもかなり食っています
解説サイト等を見るとCUDA9.2やcudnnのインストール必須と書いてあるのですが、
DeepFaceLabの中にCUDAやcudnnのdllがあるので要らないのでは?と思っています
(一応インストールしてからも試してみましたが、変わらず…)
CPU:i5 4590 3.3GHz
GPU:GT710
RAM:12GB
今はやりのDeepFaceLabをちょこっと体験してみようと思って、ローエンドのグラボ買いました
CUDA9.2版をDLして使ってみたのですが、あきらかにGPUが使われておらず、
CPUの負荷が100%になり、RAMもかなり食っています
解説サイト等を見るとCUDA9.2やcudnnのインストール必須と書いてあるのですが、
DeepFaceLabの中にCUDAやcudnnのdllがあるので要らないのでは?と思っています
(一応インストールしてからも試してみましたが、変わらず…)
CPU:i5 4590 3.3GHz
GPU:GT710
RAM:12GB
249デフォルトの名無しさん
2020/01/16(木) 20:27:00.00ID:FGWQ9iNR >>248
先人の知恵を踏み倒しておいてなにをいっているんだおまえは
先人の知恵を踏み倒しておいてなにをいっているんだおまえは
250デフォルトの名無しさん
2020/01/17(金) 02:23:05.59ID:gAZZjojh スレチぉるど
251デフォルトの名無しさん
2020/01/17(金) 05:22:24.20ID:C//xu3ki Anaconda環境ってやつは
みんな普通に使ってるものなの?
open cv をインストールしようとしてるんだけど
そっちのほうがいいのか
別のやり方があるのか知りたいのですが
みんな普通に使ってるものなの?
open cv をインストールしようとしてるんだけど
そっちのほうがいいのか
別のやり方があるのか知りたいのですが
252デフォルトの名無しさん
2020/01/17(金) 11:04:38.28ID:fMuYUnvE Anaconda3 使ってるが conda じゃなくて pip で OpenCV 入れて何の問題も無いよ
253デフォルトの名無しさん
2020/01/17(金) 11:56:05.00ID:blsKHKuZ Anaconda3一応いれたけどVSCodeのターミナルでpipしても反映されなくなって
Anacondaコンソールからpipするようになったな
Anacondaコンソールからpipするようになったな
254デフォルトの名無しさん
2020/01/17(金) 13:52:04.96ID:CE1DS/Xp 開発環境がオフラインなんですが、ライブラリを追加するにはどういった方法がありますか?
別環境でネットはつながり、ファイルの移動は可能です。
別環境でネットはつながり、ファイルの移動は可能です。
255デフォルトの名無しさん
2020/01/17(金) 13:54:57.41ID:blsKHKuZ 普通にpip install C:\xxx.whlとか
256デフォルトの名無しさん
2020/01/17(金) 13:55:47.64ID:VTFge/t4257デフォルトの名無しさん
2020/01/17(金) 13:59:11.32ID:VTFge/t4 >>255
およそケコ━━━━(・∀・)人(・∀・)━━━━ン!!
およそケコ━━━━(・∀・)人(・∀・)━━━━ン!!
258デフォルトの名無しさん
2020/01/18(土) 12:28:11.28ID:bny/49Iw 日本語表記のあるcsvファイルをdfとして読み込もうとしているのですが、
df_descr = pd.read_csv(descr_path,encoding='SHIFT-JIS')
を実行したところ
例外が発生しました: UnicodeDecodeError
'utf-8' codec can't decode byte 0x82 in position 0: invalid start byte
のメッセージが出現して読み込みできません。
SHIFT-JISの設定だけではいけないのでしょうか?
df_descr = pd.read_csv(descr_path,encoding='SHIFT-JIS')
を実行したところ
例外が発生しました: UnicodeDecodeError
'utf-8' codec can't decode byte 0x82 in position 0: invalid start byte
のメッセージが出現して読み込みできません。
SHIFT-JISの設定だけではいけないのでしょうか?
259デフォルトの名無しさん
2020/01/18(土) 12:37:18.11ID:6Wtj4R8r 日本語ファイルを読み込むにはまずは文字コードについて精通している必要がある
UTF-8のBOMとかは特に
テキストファイルの文字コードが何かも
UTF-8のBOMとかは特に
テキストファイルの文字コードが何かも
260デフォルトの名無しさん
2020/01/18(土) 12:38:26.90ID:9uT/TZmo cp932にしてみたら?
261デフォルトの名無しさん
2020/01/18(土) 12:43:37.61ID:bny/49Iw262デフォルトの名無しさん
2020/01/18(土) 12:46:30.31ID:ITm1SqvJ encoding="shift_jis"
263デフォルトの名無しさん
2020/01/18(土) 12:51:58.74ID:bny/49Iw264デフォルトの名無しさん
2020/01/18(土) 12:56:34.44ID:34RcyaUW265デフォルトの名無しさん
2020/01/18(土) 13:04:47.84ID:bny/49Iw266デフォルトの名無しさん
2020/01/18(土) 13:07:57.48ID:KKXb2HyK267デフォルトの名無しさん
2020/01/18(土) 13:13:41.09ID:bny/49Iw anacondaでpython3.7使ってます
268デフォルトの名無しさん
2020/01/18(土) 13:21:56.07ID:KKXb2HyK >>267
3.7系でも起きるんかい・・・ > 日本語問題
import codecs
with codecs.open(descr_path, "r", "Shift-JIS", "ignore") as file:
____df_descr = pd.read_csv(file)
____print(df_descr)
↑で どうよ
3.7系でも起きるんかい・・・ > 日本語問題
import codecs
with codecs.open(descr_path, "r", "Shift-JIS", "ignore") as file:
____df_descr = pd.read_csv(file)
____print(df_descr)
↑で どうよ
269デフォルトの名無しさん
2020/01/18(土) 13:40:28.54ID:bny/49Iw >>268
ありがとうございます。
ためしてみたのですが、
例外が発生しました: UnicodeDecodeError
'utf-8' codec can't decode byte 0x82 in position 0: invalid start byte
でした・・・。
ありがとうございます。
ためしてみたのですが、
例外が発生しました: UnicodeDecodeError
'utf-8' codec can't decode byte 0x82 in position 0: invalid start byte
でした・・・。
270デフォルトの名無しさん
2020/01/18(土) 13:51:16.06ID:KKXb2HyK271デフォルトの名無しさん
2020/01/18(土) 13:52:45.11ID:KKXb2HyK 具体的には
(BOMなし)UTF-8で中身「い」とかにしてかぶんない名前で保存、
268のコードのShift-JISんとこをUTF-8に書き換えて
ファイル名も適宜設定した場合
うまくいくかどうか。
(BOMなし)UTF-8で中身「い」とかにしてかぶんない名前で保存、
268のコードのShift-JISんとこをUTF-8に書き換えて
ファイル名も適宜設定した場合
うまくいくかどうか。
272デフォルトの名無しさん
2020/01/18(土) 14:01:46.35ID:bny/49Iw273デフォルトの名無しさん
2020/01/18(土) 14:06:40.17ID:KKXb2HyK >>272
263でテストのためエクセルで(ry とか言ってたのに
なんで突然C#が出てくるんだよwww
改行コード問題(0x0D派/0x0A派/両方必要だYO派)が
根底にありそうだとエスパーしてみる。
263でテストのためエクセルで(ry とか言ってたのに
なんで突然C#が出てくるんだよwww
改行コード問題(0x0D派/0x0A派/両方必要だYO派)が
根底にありそうだとエスパーしてみる。
274デフォルトの名無しさん
2020/01/18(土) 14:07:44.83ID:KKXb2HyK275デフォルトの名無しさん
2020/01/18(土) 14:10:45.52ID:ITm1SqvJ 先頭にBOMがついていて、encode指定を無視してUTF8と見なし、
許されないSJISコードにぶつかりエラーになっていると妄想してみる
許されないSJISコードにぶつかりエラーになっていると妄想してみる
276デフォルトの名無しさん
2020/01/18(土) 14:28:25.42ID:9uT/TZmo C#で出力ということは単純にUTF-8になってる気がしないでもない
読み込みおかしい時は対象ファイルをバイナリエディタで眺めてみるくらいはしようよ
読み込みおかしい時は対象ファイルをバイナリエディタで眺めてみるくらいはしようよ
277デフォルトの名無しさん
2020/01/18(土) 15:13:58.28ID:j3FkiK0W すみません、どなたかご教授願います。
Pythonでseleniumを使いchromeを任意のページで起動させようとしています。
しかし、起動するはするものの
driver.get("URL")でページを指定しても、Googleのトップページしか開かない状況です。
どうにか、任意のページで開きたいのですが
何か心当たりある方はいらっしゃいませんでしょうか。
Pythonでseleniumを使いchromeを任意のページで起動させようとしています。
しかし、起動するはするものの
driver.get("URL")でページを指定しても、Googleのトップページしか開かない状況です。
どうにか、任意のページで開きたいのですが
何か心当たりある方はいらっしゃいませんでしょうか。
278デフォルトの名無しさん
2020/01/18(土) 15:21:58.16ID:ftiCyY/7279デフォルトの名無しさん
2020/01/18(土) 15:29:04.38ID:KKXb2HyK280デフォルトの名無しさん
2020/01/18(土) 15:46:31.45ID:j3FkiK0W281デフォルトの名無しさん
2020/01/18(土) 15:51:37.00ID:KKXb2HyK282デフォルトの名無しさん
2020/01/18(土) 16:07:03.30ID:j3FkiK0W >>281
初めて質問したもので、勝手がわからず申し訳ない。
http://dpaste.com/0WEPW80
エラーは出てないです。
OS : windouws10 home
Python3.8.1
Editer: VScode
IDEは使ってないです。
https://tanuhack.com/selenium/#h3-1
このサイトを参考にしました。
質問の形はこれで大丈夫でしょうか?
初めて質問したもので、勝手がわからず申し訳ない。
http://dpaste.com/0WEPW80
エラーは出てないです。
OS : windouws10 home
Python3.8.1
Editer: VScode
IDEは使ってないです。
https://tanuhack.com/selenium/#h3-1
このサイトを参考にしました。
質問の形はこれで大丈夫でしょうか?
283デフォルトの名無しさん
2020/01/18(土) 16:10:39.95ID:9uT/TZmo webdrive.Chromeに指定するのはgoogle chrome自体ではなくchromedriverのパス
284デフォルトの名無しさん
2020/01/18(土) 16:15:08.82ID:KKXb2HyK285デフォルトの名無しさん
2020/01/18(土) 16:28:00.11ID:j3FkiK0W286デフォルトの名無しさん
2020/01/18(土) 16:55:44.21ID:bny/49Iw287デフォルトの名無しさん
2020/01/18(土) 16:59:34.12ID:bny/49Iw でも、shift-jisのファイルをshift-jisとして読み込もうとしても
うまくいかないものなんですね
難しい・・・
うまくいかないものなんですね
難しい・・・
288デフォルトの名無しさん
2020/01/18(土) 17:10:31.05ID:ITm1SqvJ >>287
テキストエディタで確実にShift-Jisになっているファイルを作り、読ませてみて
テキストエディタで確実にShift-Jisになっているファイルを作り、読ませてみて
289デフォルトの名無しさん
2020/01/18(土) 18:17:17.03ID:bny/49Iw290デフォルトの名無しさん
2020/01/18(土) 18:43:47.49ID:KKXb2HyK291デフォルトの名無しさん
2020/01/18(土) 18:46:21.41ID:bny/49Iw df_descr.to_csv('summary_data.csv', mode='a', header=False)
header=Falseなのに、データに日本語があると毎回ヘッダーが書き込まれる
pythonはutf-8で自分で書き込んでいるのに、自分で読めてないってことですよね
pythonで日本語のデータ書き込み諦めたほうがいいのかなぁ
一日本質とは違うところで悪戦苦闘して疲れ果ててきました
header=Falseなのに、データに日本語があると毎回ヘッダーが書き込まれる
pythonはutf-8で自分で書き込んでいるのに、自分で読めてないってことですよね
pythonで日本語のデータ書き込み諦めたほうがいいのかなぁ
一日本質とは違うところで悪戦苦闘して疲れ果ててきました
292デフォルトの名無しさん
2020/01/18(土) 18:59:16.48ID:bny/49Iw >>291
間違えました
df_descr.to_csv('summary_data.csv', mode='a', header=False)
header=False
でデータに日本語が含まれているとヘッダーが一度も書き込まれない。
なんででしょう・・・。
間違えました
df_descr.to_csv('summary_data.csv', mode='a', header=False)
header=False
でデータに日本語が含まれているとヘッダーが一度も書き込まれない。
なんででしょう・・・。
293デフォルトの名無しさん
2020/01/18(土) 19:00:48.17ID:34RcyaUW294デフォルトの名無しさん
2020/01/18(土) 19:03:05.38ID:KKXb2HyK295デフォルトの名無しさん
2020/01/18(土) 19:06:11.38ID:KKXb2HyK296デフォルトの名無しさん
2020/01/18(土) 19:10:51.11ID:bny/49Iw >>290
notepad上書きで解決というのも読んだのですが、バケバケ状態解決せずです。
notepad上書きで解決というのも読んだのですが、バケバケ状態解決せずです。
297デフォルトの名無しさん
2020/01/18(土) 19:25:15.56ID:bny/49Iw >>295
あああ〜
header=False
は常にヘッダー書き込まないんでしたっけ。
csvファイルにヘッダーがなければ書き込む、ヘッダーがあれば書き込まないって設定ありませんでしたっけ?
なんかもうだんだん自分が壊れてきました。
あああ〜
header=False
は常にヘッダー書き込まないんでしたっけ。
csvファイルにヘッダーがなければ書き込む、ヘッダーがあれば書き込まないって設定ありませんでしたっけ?
なんかもうだんだん自分が壊れてきました。
298デフォルトの名無しさん
2020/01/18(土) 19:32:41.57ID:KKXb2HyK299デフォルトの名無しさん
2020/01/18(土) 20:00:14.19ID:34RcyaUW300デフォルトの名無しさん
2020/01/18(土) 20:04:10.61ID:KKXb2HyK301デフォルトの名無しさん
2020/01/18(土) 20:07:24.13ID:KKXb2HyK 通知しますか?のポップアップうざいけど
↓の説明あたりはなかなか良いとおもた
ttps://alaki.co.jp/blog/?p=1236
↓の説明あたりはなかなか良いとおもた
ttps://alaki.co.jp/blog/?p=1236
302デフォルトの名無しさん
2020/01/18(土) 21:42:34.08ID:bny/49Iw >>301
いろいろありがとうございます。
頭冷やしに散歩してきて、じっくり読んだら解決しました。
これ一人だったら絶対解決できなかった。
Python数値計算とかバシバシできてるときはすごく作業効率いいんだけど、
こういうところで躓くと大量に時間を消費してしまう。
C#と勝手が違うところが多いよね。
使い続ければいいつか立派なPython使いになれるんだろうか・・・。
いろいろありがとうございます。
頭冷やしに散歩してきて、じっくり読んだら解決しました。
これ一人だったら絶対解決できなかった。
Python数値計算とかバシバシできてるときはすごく作業効率いいんだけど、
こういうところで躓くと大量に時間を消費してしまう。
C#と勝手が違うところが多いよね。
使い続ければいいつか立派なPython使いになれるんだろうか・・・。
303デフォルトの名無しさん
2020/01/18(土) 23:05:28.28ID:ciDfAHTw Software Design 2月号は、Python 特集
Python.jp の手順通りに、Python 3.7 を入れる
VSCode で、Microsoft 製のPythonの拡張機能を入れる!
仮想環境は、venv
pip install jupyter pandas lxml plotly-express
で、使うものを入れる
Python.jp の手順通りに、Python 3.7 を入れる
VSCode で、Microsoft 製のPythonの拡張機能を入れる!
仮想環境は、venv
pip install jupyter pandas lxml plotly-express
で、使うものを入れる
304デフォルトの名無しさん
2020/01/18(土) 23:13:31.82ID:bny/49Iw plt.text(0,0,'hello')
と座標を指定するのでなく、グラフの左上、右上などを指定してテキストを表示させることってできますか?
と座標を指定するのでなく、グラフの左上、右上などを指定してテキストを表示させることってできますか?
305デフォルトの名無しさん
2020/01/18(土) 23:13:48.02ID:ciDfAHTw >>272
漏れは、Windows 10 のVSCode で、Ruby を使っているけど、
ファイルは、BOM なしUTF-8 しか使わない!
ただし、BOM が無いと、WindowsがCP932 と区別できないから、
エクスプローラーでの文字列検索ができなくなる
そのため、WSL に、Ubutu 18.04 を入れて、
Linux 側から、Windows 内のファイルを、grep している
漏れは、Windows 10 のVSCode で、Ruby を使っているけど、
ファイルは、BOM なしUTF-8 しか使わない!
ただし、BOM が無いと、WindowsがCP932 と区別できないから、
エクスプローラーでの文字列検索ができなくなる
そのため、WSL に、Ubutu 18.04 を入れて、
Linux 側から、Windows 内のファイルを、grep している
307デフォルトの名無しさん
2020/01/19(日) 08:40:11.51ID:pvqGEyXi308デフォルトの名無しさん
2020/01/19(日) 09:51:40.75ID:pvqGEyXi 返信がないから勝手にmatplotlibの扱い方のことだとエスパーしておく
>>304
左上に寄せたいなら
plt.text(0, 0, 'hello' ,horizontalalignment='left', verticalalignment='top, transform=ax.transAxes)
> グラフ座標で位置を指定(transform)
> 基準位置は左上で指定(〜alaignment='left'/'top')
ttps://teratail.com/questions/108513 より
>>304
左上に寄せたいなら
plt.text(0, 0, 'hello' ,horizontalalignment='left', verticalalignment='top, transform=ax.transAxes)
> グラフ座標で位置を指定(transform)
> 基準位置は左上で指定(〜alaignment='left'/'top')
ttps://teratail.com/questions/108513 より
310デフォルトの名無しさん
2020/01/19(日) 18:41:27.11ID:08aGszMi 質問です。
IpadのPythonistaでWebページの作成にチャレンジしています。
Projectフォルダにあるurls.py内で
Pathをincludeでアプリケーションフォルダにある
myprofile.urlsを指定しているのですが
No Module named myprofileとなってしまいます。
アプリケーションフォルダはmyprofileで
その中にあるurls.pyもスペルに間違いはないのですが
他に登録する作業か何か必要なのでしょうか?
IpadのPythonistaでWebページの作成にチャレンジしています。
Projectフォルダにあるurls.py内で
Pathをincludeでアプリケーションフォルダにある
myprofile.urlsを指定しているのですが
No Module named myprofileとなってしまいます。
アプリケーションフォルダはmyprofileで
その中にあるurls.pyもスペルに間違いはないのですが
他に登録する作業か何か必要なのでしょうか?
311デフォルトの名無しさん
2020/01/19(日) 19:11:59.38ID:pvqGEyXi312デフォルトの名無しさん
2020/01/20(月) 02:42:44.79ID:zXBhRA8b >>311
ipadにインストールしたPythonistaでDjangoを
使ってWebサイトを作ろうとしています。
Projectフォルダのurls.pyでは
from django.urls import path, includeで
urlpattern = [path ‘’, include(‘myprofile.urls’),]
の先はアプリケーションフォルダ内の
urls.pyのルートを指定しています。
初心者でDjangoビギナーズブック(カットシステム)
という本を参考に手順を踏んでやっています。
ちなみにwebのページは2回ほど表示出来たのですが
その後はなぜか接続出来なくなりました。
ipadのブラウザの設定とか関係してるのでしょうか・・・
ipadにインストールしたPythonistaでDjangoを
使ってWebサイトを作ろうとしています。
Projectフォルダのurls.pyでは
from django.urls import path, includeで
urlpattern = [path ‘’, include(‘myprofile.urls’),]
の先はアプリケーションフォルダ内の
urls.pyのルートを指定しています。
初心者でDjangoビギナーズブック(カットシステム)
という本を参考に手順を踏んでやっています。
ちなみにwebのページは2回ほど表示出来たのですが
その後はなぜか接続出来なくなりました。
ipadのブラウザの設定とか関係してるのでしょうか・・・
313デフォルトの名無しさん
2020/01/20(月) 02:50:42.93ID:zXBhRA8b こっちはプロジェクトフォルダ内のurls.pyです。
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myprofile.urls')),
]
こっちがアプリケーションフォルダに分けたurls.pyです。
from django.http import HttpResponse
from django.urls import path
def top(request):
return HttpResponse('This is TopPage!!!')
def resume(request):
return HttpResponse('This is Resume!!!')
urlpatterns = [
path('', top),
path('resume/', resume,),
]
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myprofile.urls')),
]
こっちがアプリケーションフォルダに分けたurls.pyです。
from django.http import HttpResponse
from django.urls import path
def top(request):
return HttpResponse('This is TopPage!!!')
def resume(request):
return HttpResponse('This is Resume!!!')
urlpatterns = [
path('', top),
path('resume/', resume,),
]
314デフォルトの名無しさん
2020/01/20(月) 10:08:32.50ID:QkwcbMkc >>308
昨日、突然の救出で読むのおそくなりすいません。
このページのコード実行してみたけど、エラー出るんですよね。
多分自分はplt.plotとax.plotがごっちゃになってて、
対話式のplt.plotはある程度使えるようになってきたんだけど、
ax.pltがまだわかってないんだろうなぁ。
いまのところpltの方でできる範囲なんですが、axの方も使えたほうがいいですよね。
昨日、突然の救出で読むのおそくなりすいません。
このページのコード実行してみたけど、エラー出るんですよね。
多分自分はplt.plotとax.plotがごっちゃになってて、
対話式のplt.plotはある程度使えるようになってきたんだけど、
ax.pltがまだわかってないんだろうなぁ。
いまのところpltの方でできる範囲なんですが、axの方も使えたほうがいいですよね。
315デフォルトの名無しさん
2020/01/20(月) 10:15:02.18ID:QkwcbMkc 初歩的な質問ですが、
一つのdfとdfデータフレームからスライスした
df_correct
df_incorrect
というデータフレームをあちこちの関数で使い回す場合
1. mainでスライスしてdf、df_correct、df_incorrectを関数に引数として渡す
2. 各関数にはdfだけを渡して各関数の中でスライスしてdf_correct、df_incorrectを生成する
のどちらが正しいのでしょう?
mainでスライスして渡していたのですが、dfだけ渡せばあとは関数内で処理してくれるほうが、関数の独立性が高まっていいのかと悩み始めました
一つのdfとdfデータフレームからスライスした
df_correct
df_incorrect
というデータフレームをあちこちの関数で使い回す場合
1. mainでスライスしてdf、df_correct、df_incorrectを関数に引数として渡す
2. 各関数にはdfだけを渡して各関数の中でスライスしてdf_correct、df_incorrectを生成する
のどちらが正しいのでしょう?
mainでスライスして渡していたのですが、dfだけ渡せばあとは関数内で処理してくれるほうが、関数の独立性が高まっていいのかと悩み始めました
316デフォルトの名無しさん
2020/01/20(月) 10:17:27.57ID:QkwcbMkc 1 コードの冗長性 低い 各関数の独立性 低い
2 コードの冗長性 高い 各関数の独立性 高い
となりますよね。
複雑なステップを踏んだ作業なら1だと思うのですが、
スライスのように一行で書けるコードだと2のほうがいいのかなぁ
2 コードの冗長性 高い 各関数の独立性 高い
となりますよね。
複雑なステップを踏んだ作業なら1だと思うのですが、
スライスのように一行で書けるコードだと2のほうがいいのかなぁ
317デフォルトの名無しさん
2020/01/20(月) 13:24:40.69ID:0GX6odYx318デフォルトの名無しさん
2020/01/20(月) 15:57:08.15ID:Y1i1RW21 >>315
>どちらが正しいのでしょう?
この考え方が間違ってる
プログラミングにおける意思決定は常に唯一正しい解があるわけではない
二元思考は捨てて状況に応じて「より適切な」方法を選ぶという考えをすべき
どちらがより適切なのかは主に「各関数にどういう責務/役割を持たしたいのか?」による
correct/incorrectの判別を含む役割を持たしたいのかどうか
どういう風に処理を関数に分解してそれぞれに役割分担させたいのか
行数はあまり関係ない
>どちらが正しいのでしょう?
この考え方が間違ってる
プログラミングにおける意思決定は常に唯一正しい解があるわけではない
二元思考は捨てて状況に応じて「より適切な」方法を選ぶという考えをすべき
どちらがより適切なのかは主に「各関数にどういう責務/役割を持たしたいのか?」による
correct/incorrectの判別を含む役割を持たしたいのかどうか
どういう風に処理を関数に分解してそれぞれに役割分担させたいのか
行数はあまり関係ない
319デフォルトの名無しさん
2020/01/20(月) 17:40:33.60ID:Eb5OCTAV >>312-313
おまえが1を理解できない程度の軽度池沼だということがわかった。
しょしんしゃを かくれみのに する
じしょうしょしんしゃ は しょしんしゃいた いがいの 5ちゃんは みないでね!
おうちの ひとと いっしょに いんたーねっとを していってね!
おまえが1を理解できない程度の軽度池沼だということがわかった。
しょしんしゃを かくれみのに する
じしょうしょしんしゃ は しょしんしゃいた いがいの 5ちゃんは みないでね!
おうちの ひとと いっしょに いんたーねっとを していってね!
320デフォルトの名無しさん
2020/01/20(月) 19:16:28.46ID:EenR0R6t >>319
精神障害等級2級なんで分かるように教えてください・・^_^
精神障害等級2級なんで分かるように教えてください・・^_^
321デフォルトの名無しさん
2020/01/20(月) 19:23:11.85ID:Eb5OCTAV322デフォルトの名無しさん
2020/01/20(月) 20:18:36.33ID:tI8Cbd0v seleniumでchrome動かしています
ページ内のラジオボタンをidで拾ってオンにしたいのですが、
画面表示ありだと問題なく進むのに、headlessだとなぜか失敗してしまいます
何か考えられる原因ありますか?
↓の部分でheadlessだとコケます
driver.find_element_by_id("該当ラジオボタンのid").send_keys(Keys.SPACE)
ちなみに月イチで動かしていたコードだったのですが、先月までは問題なく動いてました
chromeが79.0.3945.130にアップデートされたことは関係ありますかね…
ページ内のラジオボタンをidで拾ってオンにしたいのですが、
画面表示ありだと問題なく進むのに、headlessだとなぜか失敗してしまいます
何か考えられる原因ありますか?
↓の部分でheadlessだとコケます
driver.find_element_by_id("該当ラジオボタンのid").send_keys(Keys.SPACE)
ちなみに月イチで動かしていたコードだったのですが、先月までは問題なく動いてました
chromeが79.0.3945.130にアップデートされたことは関係ありますかね…
323デフォルトの名無しさん
2020/01/20(月) 20:40:30.19ID:Eb5OCTAV324デフォルトの名無しさん
2020/01/20(月) 21:11:01.87ID:tI8Cbd0v バージョンがあってないように思えるのですが、
一応79系では最新のchromedriver使ってます
一応79系では最新のchromedriver使ってます
325デフォルトの名無しさん
2020/01/20(月) 21:55:53.98ID:tI8Cbd0v 自己解決で済みません
chromeダウングレードしたら動いたので、やはりchromeのバージョンのせいでした
ちょっとこのまま様子見てみます
chromeダウングレードしたら動いたので、やはりchromeのバージョンのせいでした
ちょっとこのまま様子見てみます
326デフォルトの名無しさん
2020/01/20(月) 22:28:29.32ID:Eb5OCTAV >>324-325
chromedriverがあわせてくるまでの辛抱ってことけ…
まあ、なんだ、その、がんがれ
そういえば
Chromeはそのへんがしょっちゅう問題になるから
Firefoxに乗り換えたんだったな自分
chromedriverがあわせてくるまでの辛抱ってことけ…
まあ、なんだ、その、がんがれ
そういえば
Chromeはそのへんがしょっちゅう問題になるから
Firefoxに乗り換えたんだったな自分
327デフォルトの名無しさん
2020/01/20(月) 22:51:50.48ID:H7Jd/N/8 1, 2, 3, 5, 7, 12, 13, 14
みたいなランダムな数字の列があるのですが、
これらのなかから連続値のみを取り出してそれらの平均を計算し元の配列に戻したいのですがどうすればいいですか?
上記の物だと
2, 5, 7, 13
といった感じです
みたいなランダムな数字の列があるのですが、
これらのなかから連続値のみを取り出してそれらの平均を計算し元の配列に戻したいのですがどうすればいいですか?
上記の物だと
2, 5, 7, 13
といった感じです
328デフォルトの名無しさん
2020/01/20(月) 23:03:25.34ID:w7NKNQW/ n = [1,2,3,5,7,12,13,14]
temp = set()
ans = []
for i in n:
__if i-1 in temp: temp.add(i)
__else:
____if temp: ans.append(sum(temp)/len(temp))
____temp = {i}
else: ans.append(sum(temp)/len(temp))
temp = set()
ans = []
for i in n:
__if i-1 in temp: temp.add(i)
__else:
____if temp: ans.append(sum(temp)/len(temp))
____temp = {i}
else: ans.append(sum(temp)/len(temp))
329天猛星ダラマンティス ◆DARAMAN/jg
2020/01/20(月) 23:23:49.32ID:bai7maK4330デフォルトの名無しさん
2020/01/20(月) 23:24:16.13ID:DABjARM6331デフォルトの名無しさん
2020/01/20(月) 23:34:49.76ID:DABjARM6 for i in n:
if i - 1 in temp:
temp.add(i)
else:
if temp:
ans.append(int(sum(temp)/len(temp)))
temp = {i}
else:
temp.add(i)
print(temp)
ans.append(int(sum(temp) / len(temp)))
これで合ってますかね?
if i - 1 in temp:
temp.add(i)
else:
if temp:
ans.append(int(sum(temp)/len(temp)))
temp = {i}
else:
temp.add(i)
print(temp)
ans.append(int(sum(temp) / len(temp)))
これで合ってますかね?
332デフォルトの名無しさん
2020/01/21(火) 15:14:39.98ID:vdt1a+N/ binary classificationだと以下の2つは同じという認識であってます?
predict(test)
predict_proba(test)[:, 1]
predict(test)
predict_proba(test)[:, 1]
333デフォルトの名無しさん
2020/01/21(火) 17:23:30.28ID:aLz1RI/9 すみません、リストに[12,54,67,89,22,・・・・]とランダムな数字が2000個くらい並んでる状態で、
200個区切りでtxtファイルに出力したいのですが、その時の参考になるようなfor文を教えて頂けないでしょうか・・
200個区切りでtxtファイルに出力したいのですが、その時の参考になるようなfor文を教えて頂けないでしょうか・・
334デフォルトの名無しさん
2020/01/21(火) 17:42:36.16ID:Vd2KBMmO >>333
from toolz import partition_all
foo = [12,54,67,89,22]
for x in partition_all(2, foo):
...: print(x)
(12, 54)
(67, 89)
(22,)
from toolz import partition_all
foo = [12,54,67,89,22]
for x in partition_all(2, foo):
...: print(x)
(12, 54)
(67, 89)
(22,)
335デフォルトの名無しさん
2020/01/22(水) 06:54:53.88ID:0G9ccXQk336デフォルトの名無しさん
2020/01/22(水) 07:58:49.25ID:rbmjoU9Y rubyかと思ってググったけど第3引数はオフセットだったから違うな
337デフォルトの名無しさん
2020/01/22(水) 16:14:53.51ID:nWv0CuIQ 文字列内の制御文字をそのまま表示する方法を教えて下さい。
"123¥t456"なら
'123¥t456'
と表示する方法です。Python3系でお願いします。
"123¥t456"なら
'123¥t456'
と表示する方法です。Python3系でお願いします。
338デフォルトの名無しさん
2020/01/22(水) 16:35:25.08ID:rj2HkyIb >>337
print(repr("123¥t456"))
print(repr("123¥t456"))
339デフォルトの名無しさん
2020/01/22(水) 17:32:17.91ID:sK1GeIAD cおじさんが今更pythonの入門書読んでるんだけど
リストやタプルを比較できるってどういう意味?
>>> (10, 2) > (9, 4)
True
>>> [3, 9, 5] > [4, 3, 1]
False
これって、リストやタプルの何をどう比較して結果を出してるの?
リストやタプルを比較できるってどういう意味?
>>> (10, 2) > (9, 4)
True
>>> [3, 9, 5] > [4, 3, 1]
False
これって、リストやタプルの何をどう比較して結果を出してるの?
340デフォルトの名無しさん
2020/01/22(水) 17:36:08.33ID:nWv0CuIQ341デフォルトの名無しさん
2020/01/22(水) 17:38:37.11ID:sK1GeIAD 自分で冷静に見返してみたんだけど
リストやタプルの先頭の数値だけを見て比較して結果を出してるのかしら?
リストやタプルの先頭の数値だけを見て比較して結果を出してるのかしら?
342デフォルトの名無しさん
2020/01/22(水) 17:40:40.38ID:sK1GeIAD 実験したらやっぱり先頭の数値を比較してるだけらしい事が解りました
お騒がせしました
お騒がせしました
343デフォルトの名無しさん
2020/01/22(水) 17:55:40.16ID:1mCrOGg1344デフォルトの名無しさん
2020/01/22(水) 18:21:12.01ID:sK1GeIAD345デフォルトの名無しさん
2020/01/23(木) 08:40:27.17ID:5USEgiu9 dict = {a:10,b:15,c:20,d:30,e:100}
みたいな辞書型があった場合に
これをそのまんま
string_dict = "[a:10,b:15,c:20,d:30,e:100]"
こんな感じの文字列に簡単に変換する方法ってないですか?
みたいな辞書型があった場合に
これをそのまんま
string_dict = "[a:10,b:15,c:20,d:30,e:100]"
こんな感じの文字列に簡単に変換する方法ってないですか?
346デフォルトの名無しさん
2020/01/23(木) 08:43:34.44ID:5USEgiu9347デフォルトの名無しさん
2020/01/23(木) 12:12:13.07ID:VWfJLmDE jsonでもそうはならんのじゃ
348デフォルトの名無しさん
2020/01/23(木) 12:26:14.36ID:USDwNJRh >>345
str(dict)
これで不満だったらdict.items()をリスト内包処理して文字列を作るのがいい
‘[‘+’, ‘.join([str(k)+’: ’+str(v) for k,v in dict.items()]) +’]’
みたいな
str(dict)
これで不満だったらdict.items()をリスト内包処理して文字列を作るのがいい
‘[‘+’, ‘.join([str(k)+’: ’+str(v) for k,v in dict.items()]) +’]’
みたいな
349デフォルトの名無しさん
2020/01/23(木) 14:01:15.03ID:rTyMrtC+ 仕事で使用している上に特定のソフトのスクリプトなので詳しいことが書けないのですが、
以下のようにクラス変数をチェックするコードを書くと何故かcheck1の値は6になってるのに、check2の値は0のままみたいなことが起きてしまいます。
class testClass():
def __init__(self):
self.test = 0
def set_test(self,a,b,c):
self.test = a+b+c
print("check1:"+str(self.test))
def print_test(self):
print("check2:"+str(self.test))
testClass = testClass()
testClass.set_test(1,2,3)
testClass.print_test()
この↑のサンプルスクリプト自体はどっちも6と正しく表示されるのですが、これに似たスクリプトでおかしなことになって困っています。
何か思い当たる節のある方がいたら教えてください。。。
以下のようにクラス変数をチェックするコードを書くと何故かcheck1の値は6になってるのに、check2の値は0のままみたいなことが起きてしまいます。
class testClass():
def __init__(self):
self.test = 0
def set_test(self,a,b,c):
self.test = a+b+c
print("check1:"+str(self.test))
def print_test(self):
print("check2:"+str(self.test))
testClass = testClass()
testClass.set_test(1,2,3)
testClass.print_test()
この↑のサンプルスクリプト自体はどっちも6と正しく表示されるのですが、これに似たスクリプトでおかしなことになって困っています。
何か思い当たる節のある方がいたら教えてください。。。
350デフォルトの名無しさん
2020/01/23(木) 14:04:48.80ID:VWfJLmDE def set_test(self,a,b,c):
self.testt = a+b+c
print("check1:"+str(self.testt))
みたいになっててもエラーは出ない
self.testt = a+b+c
print("check1:"+str(self.testt))
みたいになっててもエラーは出ない
351デフォルトの名無しさん
2020/01/23(木) 14:32:36.32ID:I5UoJI+g 変なとこでリストとか定義してない?
352デフォルトの名無しさん
2020/01/23(木) 15:05:00.07ID:5USEgiu9 >>350-351
ありがとうございます
もう少し詳しく書くと、こんな感じになってて
check1では6と表示されるのに
check2では-1と表示されるので、スペルミスというわけでもなさそうです。
リストはあるにはあるんですが、self.test自体には影響のなさそうな使い方で定義しています。
class testClass():
def __init__(self):
self.testList = []
self.test = 0
def set_test(self,a,b,c):
self.test = a+b+c
if 5 < self.test:
pass
else:
self.test = -1
print("check1:"+str(self.test))
def print_test(self):
print("check2:"+str(self.test))
testClass = testClass()
testClass.set_test(1,2,3)
testClass.print_test()
ありがとうございます
もう少し詳しく書くと、こんな感じになってて
check1では6と表示されるのに
check2では-1と表示されるので、スペルミスというわけでもなさそうです。
リストはあるにはあるんですが、self.test自体には影響のなさそうな使い方で定義しています。
class testClass():
def __init__(self):
self.testList = []
self.test = 0
def set_test(self,a,b,c):
self.test = a+b+c
if 5 < self.test:
pass
else:
self.test = -1
print("check1:"+str(self.test))
def print_test(self):
print("check2:"+str(self.test))
testClass = testClass()
testClass.set_test(1,2,3)
testClass.print_test()
353デフォルトの名無しさん
2020/01/23(木) 15:35:16.75ID:EBItVrD5 >>334
ありがとうございます。解決できました;;
ありがとうございます。解決できました;;
354デフォルトの名無しさん
2020/01/23(木) 18:54:37.85ID:rTyMrtC+ try exceptでエラーが出ないようになってて
それが原因でした
それが原因でした
355デフォルトの名無しさん
2020/01/23(木) 19:12:45.97ID:5iKgMbK4 class testClass():
(略)
self.test = a+b+c
(略)
testClass = testClass()
同じ名前でtestClassを上書きしているので
self.testがインスタンス変数の.testだったりクラス変数の.testだったりなってそう
(略)
self.test = a+b+c
(略)
testClass = testClass()
同じ名前でtestClassを上書きしているので
self.testがインスタンス変数の.testだったりクラス変数の.testだったりなってそう
356デフォルトの名無しさん
2020/01/23(木) 19:26:56.00ID:I5UoJI+g w
357デフォルトの名無しさん
2020/01/24(金) 00:57:45.95ID:TsxkySTN MacでUDP送信できるバイト数は9216バイトまでらしいんですが
どうしても、もっと長い文字列を送りたい場合、何も対処方法はないですか?
以下の回答には、sudoで指定すればいいとありますが、ユーザーに配布するプログラムでは9216バイト以上の
UDP通信は不可能ということでしょうか?
https://stackoverflow.com/questions/22819214/udp-message-too-long
どうしても、もっと長い文字列を送りたい場合、何も対処方法はないですか?
以下の回答には、sudoで指定すればいいとありますが、ユーザーに配布するプログラムでは9216バイト以上の
UDP通信は不可能ということでしょうか?
https://stackoverflow.com/questions/22819214/udp-message-too-long
358デフォルトの名無しさん
2020/01/24(金) 01:06:02.78ID:4o50klp+ 全部まとめて送れって誰が言った?
359デフォルトの名無しさん
2020/01/24(金) 01:52:46.64ID:TsxkySTN お母さんに言われました
360デフォルトの名無しさん
2020/01/24(金) 06:07:59.20ID:JfpvAmZH つかえねーママだな
井戸に棄てとけ
井戸に棄てとけ
361デフォルトの名無しさん
2020/01/24(金) 08:18:26.54ID:TsxkySTN お母さんは大きすぎて井戸に入りきりませんでした
362デフォルトの名無しさん
2020/01/24(金) 11:40:21.68ID:ytRnz1Ft packet分割して順番通りに届かなくても良かったり一部lostしても良いものはUDPで送れ
そうじゃなければTCPで送れ
もちろん敢えてUDPで送って受信側が自分で管理しても良い
そうじゃなければTCPで送れ
もちろん敢えてUDPで送って受信側が自分で管理しても良い
363デフォルトの名無しさん
2020/01/24(金) 11:41:23.44ID:ytRnz1Ft ちなみにUDPのパケロスは日常茶飯事なので覚悟汁
364デフォルトの名無しさん
2020/01/24(金) 12:31:23.12ID:yMReJdyt raspbianでwebviewを使いたいんだけど、pyqtwebengine がインストールできない
$ pip3 install pyqtwebengine
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pyqtwebengine
Using cached https://files.pythonhosted.org/packages/47/9f/60e630711fd1dd14ef3bd95c86c733c86b8c0853749c7a03691f681f13fd/PyQtWebEngine-5.14.0.tar.gz
Installing build dependencies ... done
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3.7/tokenize.py", line 447, in open
buffer = _builtin_open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-install-64axxnil/pyqtwebengine/setup.py'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-64axxnil/pyqtwebengine/
対処方法わかる方いますか?
$ pip3 install pyqtwebengine
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting pyqtwebengine
Using cached https://files.pythonhosted.org/packages/47/9f/60e630711fd1dd14ef3bd95c86c733c86b8c0853749c7a03691f681f13fd/PyQtWebEngine-5.14.0.tar.gz
Installing build dependencies ... done
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3.7/tokenize.py", line 447, in open
buffer = _builtin_open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-install-64axxnil/pyqtwebengine/setup.py'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-64axxnil/pyqtwebengine/
対処方法わかる方いますか?
365デフォルトの名無しさん
2020/01/24(金) 13:20:47.18ID:0kzB5+Pu ヤギさん問題で、パケが届いてないというパケを出してそれも届かない時はどうすんの
366デフォルトの名無しさん
2020/01/24(金) 13:31:05.01ID:ytRnz1Ft protocol次第
367デフォルトの名無しさん
2020/01/24(金) 14:27:10.39ID:hqpdg64g なんのデータを通信するのか知らないけど
そもそも何故UDPなのか?
そもそも何故UDPなのか?
368デフォルトの名無しさん
2020/01/24(金) 18:32:57.19ID:TsxkySTN >>367
1. ネットで拾ったコードがUDPだったものを改良・増築していったからTCPを使うという頭がなかった
2. リアルタイム性の高いものなので何となくUDPかな〜と思ってUDPにしていた
3. TCPの書き方が単純に分からなかったので後回しにした
の3点です。ゲームっぽいものの通信です。
1. ネットで拾ったコードがUDPだったものを改良・増築していったからTCPを使うという頭がなかった
2. リアルタイム性の高いものなので何となくUDPかな〜と思ってUDPにしていた
3. TCPの書き方が単純に分からなかったので後回しにした
の3点です。ゲームっぽいものの通信です。
369デフォルトの名無しさん
2020/01/24(金) 21:58:58.13ID:hqpdg64g >>368
それ、3つとも理由になってないよ
それ、3つとも理由になってないよ
370デフォルトの名無しさん
2020/01/24(金) 22:02:06.33ID:n+hjULLj んだべな
372デフォルトの名無しさん
2020/01/24(金) 22:25:07.93ID:FWS5bVSz373デフォルトの名無しさん
2020/01/24(金) 22:49:35.14ID:6QvNT4gk print(1)
print(2)
print(3)
と書くのと、
def printTestFunction(one,two,three):
print(one)
print(two)
print(three)
printTestFunction(1,2,3)
と書くのだと、
当然といえば当然なのかもしれませんが、関数を作ってる下の方が処理が遅くなります。
関数を使いながら、処理速度を関数なしの場合と同程度にする方法はありませんか?
print(2)
print(3)
と書くのと、
def printTestFunction(one,two,three):
print(one)
print(two)
print(three)
printTestFunction(1,2,3)
と書くのだと、
当然といえば当然なのかもしれませんが、関数を作ってる下の方が処理が遅くなります。
関数を使いながら、処理速度を関数なしの場合と同程度にする方法はありませんか?
374デフォルトの名無しさん
2020/01/24(金) 23:53:41.87ID:2IgFvbdV >>373
PyPy試してみたら
PyPy試してみたら
375デフォルトの名無しさん
2020/01/25(土) 00:46:31.72ID:r4R7xOc1 evalってすごいね
デリゲートみたいにごちゃごちゃ書かなくても動的に関数を実行できるのね
デリゲートみたいにごちゃごちゃ書かなくても動的に関数を実行できるのね
376デフォルトの名無しさん
2020/01/25(土) 09:41:51.71ID:G9CbzBpK 世界を司る陰陽の片方なので
むしろevalからプログラミングが始まった
むしろevalからプログラミングが始まった
377デフォルトの名無しさん
2020/01/25(土) 09:48:02.70ID:G9CbzBpK https://nielsrenard.com/images/sicp-wizard.png
このオッサンが持ってるとおり
このオッサンが持ってるとおり
378デフォルトの名無しさん
2020/01/25(土) 11:38:30.42ID:oEqdrxlM eval禁止
379デフォルトの名無しさん
2020/01/25(土) 11:48:32.32ID:ZhRTyyWE そ、そんなにevalなよ
380デフォルトの名無しさん
2020/01/25(土) 15:59:52.53ID:kUqK5k65 数式が動的に展開できないじゃないの
381デフォルトの名無しさん
2020/01/25(土) 18:45:29.64ID:DbK51sM/ testDict = {"aaa",4}
print(testDict["aaa"])
とすると、TypeError: 'set' object is not subscriptable
とエラーになります
何故ですか?
print(testDict["aaa"])
とすると、TypeError: 'set' object is not subscriptable
とエラーになります
何故ですか?
382デフォルトの名無しさん
2020/01/25(土) 18:47:54.04ID:DbK51sM/ testDict = {"aaa":4}
print(testDict["aaa"])
これで治りました
print(testDict["aaa"])
これで治りました
383デフォルトの名無しさん
2020/01/25(土) 18:59:21.86ID:GG75rfFm >>381-382
そんなエラー出るんだw
そんなエラー出るんだw
384デフォルトの名無しさん
2020/01/25(土) 20:38:46.42ID:zXhFVDQK カンマで区切ったらsetになるから「setをの中身をdictのように参照はできんぞ」となるわな
385デフォルトの名無しさん
2020/01/25(土) 22:26:57.93ID:PcW4kwXa setのリテラルあったの知らんかった
386デフォルトの名無しさん
2020/01/26(日) 00:05:48.41ID:oOcVQS8z もう1つよいでしょうか
辞書型の使い方がよくわからないのですが
testDict = {"a":1,"b":{"b-1":2.1,"b-2":2.2},"c":3}
という辞書があった場合
testDict = {"a":1,"b":{"b-1":2.1,"b-2":2.2,"b-3":2.3},"c":3}
というように、辞書の中の辞書に要素を追加するにはどうしたらよいですか?
辞書型の使い方がよくわからないのですが
testDict = {"a":1,"b":{"b-1":2.1,"b-2":2.2},"c":3}
という辞書があった場合
testDict = {"a":1,"b":{"b-1":2.1,"b-2":2.2,"b-3":2.3},"c":3}
というように、辞書の中の辞書に要素を追加するにはどうしたらよいですか?
387デフォルトの名無しさん
2020/01/26(日) 00:08:24.60ID:tDfVZ5vL388デフォルトの名無しさん
2020/01/26(日) 00:17:05.87ID:oOcVQS8z >>387
ありがとうございます!
ありがとうございます!
389デフォルトの名無しさん
2020/01/26(日) 11:16:01.43ID:Y8WnpXRT 完成したプログラムをExeファイル化して配布しようと思うのですが、
pyinstallerで
pyinstaller set_data_ver25.py --onefile
としたところ
maximum recursion depth exceeded while calling a Python object
となります。
pyinstallerで
pyinstaller set_data_ver25.py --onefile
としたところ
maximum recursion depth exceeded while calling a Python object
となります。
390デフォルトの名無しさん
2020/01/26(日) 11:20:12.85ID:Y8WnpXRT 再帰関数で処理が膨れ上がるようなことはしてないと思うのですが・・・。
391デフォルトの名無しさん
2020/01/26(日) 11:32:48.17ID:0XMsrEiZ392デフォルトの名無しさん
2020/01/26(日) 11:36:51.35ID:O7q4Og2n maximum recursion depth exceeded while calling a Python object
でググれ
でググれ
393デフォルトの名無しさん
2020/01/26(日) 11:58:14.00ID:2upMPRsR floatのunixtimeをdatetime.timeの時分秒の文字列(日にちなし)に変換するメソッドはありますでしょうか?
今はdivmod()で順次割ってformat()で文字列変換し':'で結合しております。
今はdivmod()で順次割ってformat()で文字列変換し':'で結合しております。
394デフォルトの名無しさん
2020/01/26(日) 12:15:56.36ID:R5dI7Hbk datetime.timeはメソッドであり文字列ではないけど何の話?
https://docs.python.org/ja/3/library/datetime.html#datetime.datetime.time
https://docs.python.org/ja/3/library/datetime.html#datetime.datetime.time
395デフォルトの名無しさん
2020/01/26(日) 12:19:30.18ID:R5dI7Hbk ああ、クラスの方か
クラスも文字列ではないから辻褄が合わないけど
print(datetime.fromtimestamp(unixtime).time())
でいい話のような気もするな
まあ、知らね
クラスも文字列ではないから辻褄が合わないけど
print(datetime.fromtimestamp(unixtime).time())
でいい話のような気もするな
まあ、知らね
396デフォルトの名無しさん
2020/01/26(日) 13:12:22.36ID:Y8WnpXRT >>389
https://qiita.com/tobesan/items/12189abc5adbda4a49bd
ここで解決したのですが、今度は
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 139: invalid start byte
が・・・。
https://qiita.com/tobesan/items/12189abc5adbda4a49bd
ここで解決したのですが、今度は
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 139: invalid start byte
が・・・。
397デフォルトの名無しさん
2020/01/26(日) 13:16:45.26ID:Y8WnpXRT おそらく
https://stackoverflow.com/questions/47692960/error-when-using-pyinstaller-unicodedecodeerror-utf-8-codec-cant-decode-byt
でpyinstallerの設定変えろってことなんだとおもうんですが、anaconda使用してターミナルからpipでインストールしたpyinstallerがどこのフォルダにあるのかわからない・・・
アナコンダでインストールしたPyhotnのフォルダってそもそもどこにあるんでしたっけ?
https://stackoverflow.com/questions/47692960/error-when-using-pyinstaller-unicodedecodeerror-utf-8-codec-cant-decode-byt
でpyinstallerの設定変えろってことなんだとおもうんですが、anaconda使用してターミナルからpipでインストールしたpyinstallerがどこのフォルダにあるのかわからない・・・
アナコンダでインストールしたPyhotnのフォルダってそもそもどこにあるんでしたっけ?
398デフォルトの名無しさん
2020/01/26(日) 13:29:59.77ID:0XMsrEiZ399デフォルトの名無しさん
2020/01/26(日) 13:32:53.47ID:Y8WnpXRT >>398
ソースコードをBOMなしで保存してみましたが、同じエラーで・・・。
ソースコードをBOMなしで保存してみましたが、同じエラーで・・・。
400デフォルトの名無しさん
2020/01/26(日) 13:58:33.95ID:0XMsrEiZ401デフォルトの名無しさん
2020/01/26(日) 13:59:44.19ID:0XMsrEiZ402デフォルトの名無しさん
2020/01/26(日) 17:35:08.11ID:Y8WnpXRT >>401
os windows10
anaconda
python3.7
です。
https://stackoverflow.com/questions/47692960/error-when-using-pyinstaller-unicodedecodeerror-utf-8-codec-cant-decode-byt
の方法で
out = out.decode(encoding, errors='ignore')
としたら実行ファイルできたけど、
Runすると
読み込みファイルを聞いてくる→計算処理→グラフ出力→計算処理結果ファイルに出力
となるはずが、読み込みファイルを聞いてこず、なにか謎処理をしてグラフは出さずに計算結果だけ出力します。
なんだこりゃ。
os windows10
anaconda
python3.7
です。
https://stackoverflow.com/questions/47692960/error-when-using-pyinstaller-unicodedecodeerror-utf-8-codec-cant-decode-byt
の方法で
out = out.decode(encoding, errors='ignore')
としたら実行ファイルできたけど、
Runすると
読み込みファイルを聞いてくる→計算処理→グラフ出力→計算処理結果ファイルに出力
となるはずが、読み込みファイルを聞いてこず、なにか謎処理をしてグラフは出さずに計算結果だけ出力します。
なんだこりゃ。
403デフォルトの名無しさん
2020/01/26(日) 18:02:56.11ID:R5dI7Hbk Anaconda信者はちゃんとサポートしてやれ
俺はあんなゴミ使わないから知らねー
俺はあんなゴミ使わないから知らねー
404デフォルトの名無しさん
2020/01/26(日) 18:05:10.13ID:htXcC3/b 配列で
0番目の値を1番目の値に足す
1番目の値を2番目の値に足す
というのを繰り返して
最後は
n番目の値を0番目に足す
こういうループを作るのってどうすればいいですか?
a=[]
for i ,h in enumerate(haireru):
___a.append(hairetu[i]+hairetu[1+1])
にすると最後ゼロ番目と計算できないです
0番目の値を1番目の値に足す
1番目の値を2番目の値に足す
というのを繰り返して
最後は
n番目の値を0番目に足す
こういうループを作るのってどうすればいいですか?
a=[]
for i ,h in enumerate(haireru):
___a.append(hairetu[i]+hairetu[1+1])
にすると最後ゼロ番目と計算できないです
405デフォルトの名無しさん
2020/01/26(日) 18:34:25.67ID:htXcC3/b すみません
aは配列じゃなくてループ内ですぐに使いたいので
iはゼロはじまりでお願いします
for i ,h in enumerate(hairetu):
___a=(hairetu[i]+hairetu[i+1])
__b=c*a
aは配列じゃなくてループ内ですぐに使いたいので
iはゼロはじまりでお願いします
for i ,h in enumerate(hairetu):
___a=(hairetu[i]+hairetu[i+1])
__b=c*a
406デフォルトの名無しさん
2020/01/26(日) 18:39:12.37ID:ux8Vy6ZU >>404
foo = [1,2,3,4,5]
[ x + y for x, y in zip(foo, foo[1:] + [0])]
#=> [3, 5, 7, 9, 5]
このパターンこのスレだけでもう3回目くらいだと思うんだけどなんで頻出なのか謎
foo = [1,2,3,4,5]
[ x + y for x, y in zip(foo, foo[1:] + [0])]
#=> [3, 5, 7, 9, 5]
このパターンこのスレだけでもう3回目くらいだと思うんだけどなんで頻出なのか謎
407デフォルトの名無しさん
2020/01/26(日) 18:39:24.22ID:0XMsrEiZ408デフォルトの名無しさん
2020/01/26(日) 18:40:00.40ID:0XMsrEiZ >>406
どこかの私大の追試レポートで出てると予想
どこかの私大の追試レポートで出てると予想
409デフォルトの名無しさん
2020/01/26(日) 18:43:49.29ID:+Q3fYZeR >>403
Anaconda信者とかより、コミュとれない奴の相手はエスパー・高脳でないと相手できないからな。
>読み込みファイルを聞いてくる→計算処理→グラフ出力→計算処理結果ファイルに出力
以下略
は、エスパー・高脳でないとポカーンになる感じだからな
Anaconda信者とかより、コミュとれない奴の相手はエスパー・高脳でないと相手できないからな。
>読み込みファイルを聞いてくる→計算処理→グラフ出力→計算処理結果ファイルに出力
以下略
は、エスパー・高脳でないとポカーンになる感じだからな
410デフォルトの名無しさん
2020/01/26(日) 18:50:45.78ID:UvzYuhqV [ x + y for x, y in zip(foo, foo[1:] + foo[0:1])]
#=>[3, 5, 7, 9, 6]
#=>[3, 5, 7, 9, 6]
411デフォルトの名無しさん
2020/01/26(日) 21:10:21.36ID:htXcC3/b412デフォルトの名無しさん
2020/01/26(日) 21:40:26.45ID:Y8WnpXRT 401ですけど、
すいません。
コード上げてきちんと質問するべきですよね。
期限迫ってたのであせってたのですが、寝落ちして少し頭冷めました。
あきらめて現在のところまででまとめることにしました。
今の仕事終えてから、ご指摘頂いたこともう一度確認してみます。
すいません。
コード上げてきちんと質問するべきですよね。
期限迫ってたのであせってたのですが、寝落ちして少し頭冷めました。
あきらめて現在のところまででまとめることにしました。
今の仕事終えてから、ご指摘頂いたこともう一度確認してみます。
413デフォルトの名無しさん
2020/01/26(日) 22:23:07.80ID:mYb8Rqtn414デフォルトの名無しさん
2020/01/29(水) 16:41:03.56ID:rr34JdCX どこまでdefでまとめるのが良いのかアドバイスお願いします
一定の距離ごとに物体の置いてその場所や向きや大きさを決めています
距離ごとに計算すべきなのか
最初から物体の位置、向き、大きさをすべて計算して
置けばよいのでしょうか?
↓距離ごとの計算
for km in 距離:
__物体の位置()に物体を置く処理
__向きの計算()に物体の向きを変える処理
__大きさ()に物体の大きさを変える処理
def 物体の位置:
___計算式
def 物体の向き:
__計算式
def 大きさ():
__計算式
一定の距離ごとに物体の置いてその場所や向きや大きさを決めています
距離ごとに計算すべきなのか
最初から物体の位置、向き、大きさをすべて計算して
置けばよいのでしょうか?
↓距離ごとの計算
for km in 距離:
__物体の位置()に物体を置く処理
__向きの計算()に物体の向きを変える処理
__大きさ()に物体の大きさを変える処理
def 物体の位置:
___計算式
def 物体の向き:
__計算式
def 大きさ():
__計算式
415デフォルトの名無しさん
2020/01/29(水) 16:43:09.94ID:rr34JdCX 続きです
↓まとめて計算した場合
for x in 物体の位置():
__物体を指定の位置に置く処理
for y in 物体の向き():
__物体を指定の向きに置く処理
for z in 物体の大きさ():
__物体を指定の大きさにする処理
def 物体の位置():
位置 = []
__for km in 距離:
___位置.append()
__return 位置
def 向きの計算():
向き=[]
__for km in 距離:
___向き.append()
__return 向き
↓まとめて計算した場合
for x in 物体の位置():
__物体を指定の位置に置く処理
for y in 物体の向き():
__物体を指定の向きに置く処理
for z in 物体の大きさ():
__物体を指定の大きさにする処理
def 物体の位置():
位置 = []
__for km in 距離:
___位置.append()
__return 位置
def 向きの計算():
向き=[]
__for km in 距離:
___向き.append()
__return 向き
416デフォルトの名無しさん
2020/01/29(水) 17:34:31.08ID:V4INQ4I7 >>414
その2つなら後者を選ぶケースは考えにくいかな
俺の読解力の問題かもしれんが、「for km in 距離:」がよく理解できん
距離はどういうイテレータ?
例えば、距離 = [1, 2, 3, 4, 5] みたいなものと考えればいいの?
で各距離の値によって各物体の位置、向き、大きさが決まる?
その2つなら後者を選ぶケースは考えにくいかな
俺の読解力の問題かもしれんが、「for km in 距離:」がよく理解できん
距離はどういうイテレータ?
例えば、距離 = [1, 2, 3, 4, 5] みたいなものと考えればいいの?
で各距離の値によって各物体の位置、向き、大きさが決まる?
417414
2020/01/29(水) 20:49:58.87ID:rr34JdCX418デフォルトの名無しさん
2020/01/29(水) 22:13:17.15ID:V4INQ4I7 >>417
各物体の位置・向き・大きさを計算する部分と
それを使ってI/O的な処理をする部分は分けておいたほうがいいと思う
それぞれ違う理由で変更したくなるから混ざってると後で面倒
きれいに分かれてれば計算しつつ出来た順にI/Oするよう変更するのも簡単
↓関数/データに分けた場合とオブジェクトにまとめた場合のイメージ
https://techiedelight.com/compiler/?n7t7
https://techiedelight.com/compiler/?qDa4
各物体の位置・向き・大きさを計算する部分と
それを使ってI/O的な処理をする部分は分けておいたほうがいいと思う
それぞれ違う理由で変更したくなるから混ざってると後で面倒
きれいに分かれてれば計算しつつ出来た順にI/Oするよう変更するのも簡単
↓関数/データに分けた場合とオブジェクトにまとめた場合のイメージ
https://techiedelight.com/compiler/?n7t7
https://techiedelight.com/compiler/?qDa4
419414
2020/01/30(木) 01:07:15.66ID:TCVWvduC420デフォルトの名無しさん
2020/01/30(木) 17:49:07.16ID:9oqZpWVT raspbian上でwebviewを使用しています。
公式ページのサンプルをコピペしたのですが、そんなattributeは無いとエラーになります。
オブジェクトが持っているattributeの一覧を表示させることは出来ないのでしょうか。
公式ページのサンプルをコピペしたのですが、そんなattributeは無いとエラーになります。
オブジェクトが持っているattributeの一覧を表示させることは出来ないのでしょうか。
421デフォルトの名無しさん
2020/01/30(木) 18:46:06.53ID:xpd5gNHP422デフォルトの名無しさん
2020/01/30(木) 20:24:40.55ID:9oqZpWVT >>421
意味不明なんだが?
意味不明なんだが?
423デフォルトの名無しさん
2020/01/30(木) 23:03:41.98ID:zqJjLosR あっそ
じゃあしねよ
じゃあしねよ
424デフォルトの名無しさん
2020/01/30(木) 23:10:41.47ID:SpgFxTsY425デフォルトの名無しさん
2020/01/30(木) 23:12:46.73ID:TcPsF5Vj >>423
キモすぎワロタ
キモすぎワロタ
426デフォルトの名無しさん
2020/01/30(木) 23:16:17.43ID:TcPsF5Vj オブジェクトが持っているattributeの一覧を表示させることは出来ないのでしょうか。
これに答えろってことだろ
なにをぶつぶつ言ってるんだよw
これに答えろってことだろ
なにをぶつぶつ言ってるんだよw
427デフォルトの名無しさん
2020/01/30(木) 23:18:48.25ID:N/97jNZ6428デフォルトの名無しさん
2020/01/30(木) 23:38:39.08ID:N/97jNZ6430デフォルトの名無しさん
2020/01/31(金) 17:45:06.72ID:KoDF/0eX (´n`).o(429の端末が初期不良期限翌日に壊れますように)
431デフォルトの名無しさん
2020/01/31(金) 17:48:23.76ID:ltLMy86h 惨めだなぁ…
432デフォルトの名無しさん
2020/01/31(金) 22:07:10.58ID:WYJCj5Ov hoge = "わたしの名前は{0}です"
こういう変数hogeは、f-stringで値埋め込むのは無理だよね?
hoge.format()するしかないよね
こういう変数hogeは、f-stringで値埋め込むのは無理だよね?
hoge.format()するしかないよね
433デフォルトの名無しさん
2020/01/31(金) 22:14:17.30ID:KoDF/0eX434デフォルトの名無しさん
2020/01/31(金) 23:36:34.66ID:BFxfTyah 惨めな上に頭も悪いときたあ
435デフォルトの名無しさん
2020/02/01(土) 00:19:43.16ID:EnxAFhi/ >>432
template = lambda: f"わたしの名前は{name}です"
name = "foo"
f"{template()}"
#=> ’わたしの名前はfooです'
f-stringのlazy evaluation版はi-stringってので提案されてるらしい
https://www.python.org/dev/peps/pep-0501/
template = lambda: f"わたしの名前は{name}です"
name = "foo"
f"{template()}"
#=> ’わたしの名前はfooです'
f-stringのlazy evaluation版はi-stringってので提案されてるらしい
https://www.python.org/dev/peps/pep-0501/
436デフォルトの名無しさん
2020/02/01(土) 07:59:04.74ID:caubOhav437デフォルトの名無しさん
2020/02/01(土) 15:23:41.81ID:p+nIpDYx デバックについての質問なのですが
evo=[1,5,3,8]
ana=[7,6,5,4]
for e,a in zip(evo,ana):
____print("aaaa")
____c=a*b
____d=e+c
をコピペしてデバッグしてるのですが
de=3
a=ana[de]
e=evo[de]
if 1=1:
#for e,a in zip(evo,ana):
___print.....
___.........
みたいな感じでif分つけて無理やりインデント合わせてコピペして
デバッグしてますが
そういうループの途中だけ動きを見る方法でもっといい方法ありませんか?
evo=[1,5,3,8]
ana=[7,6,5,4]
for e,a in zip(evo,ana):
____print("aaaa")
____c=a*b
____d=e+c
をコピペしてデバッグしてるのですが
de=3
a=ana[de]
e=evo[de]
if 1=1:
#for e,a in zip(evo,ana):
___print.....
___.........
みたいな感じでif分つけて無理やりインデント合わせてコピペして
デバッグしてますが
そういうループの途中だけ動きを見る方法でもっといい方法ありませんか?
438sage
2020/02/01(土) 15:32:30.14ID:aHBNrXGA MATLABでいうsimulinkの代用になりそうな物ってありませんか?環境移行したいんですがこれだけどうしても見つからなくて。
439デフォルトの名無しさん
2020/02/01(土) 15:38:32.96ID:fiLTG5Nb evo=[1,5,3,8]
ana=[7,6,5,4]
for e,a in zip(evo,ana):
____if (e, a) != (8, 4): continue
____print("aaaa")
____c=a*b
____d=e+c
ana=[7,6,5,4]
for e,a in zip(evo,ana):
____if (e, a) != (8, 4): continue
____print("aaaa")
____c=a*b
____d=e+c
440デフォルトの名無しさん
2020/02/01(土) 15:49:16.27ID:iBA7Xa3w441デフォルトの名無しさん
2020/02/01(土) 16:00:39.94ID:p+nIpDYx442デフォルトの名無しさん
2020/02/01(土) 16:10:15.40ID:CimOJomw IDEとかエディタ使えない環境なの?
443デフォルトの名無しさん
2020/02/01(土) 16:10:30.84ID:EnxAFhi/444デフォルトの名無しさん
2020/02/01(土) 16:20:42.33ID:EnxAFhi/ $ python3 ipdb_conditional_breakpoint.py
1 import ipdb; ipdb.set_trace(context=10);
2
3 b = 2
4 evo=[1,5,3,8]
5 ana=[7,6,5,4]
6 for e,a in zip(evo,ana):
7 ____print("aaaa")
8 ____c=a*b
9 ____d=e+c
ipdb> break 7, e == 8
Breakpoint 1 ./ipdb_conditional_breakpoint.py:7
ipdb> c
# e ==8 の場合のみ7行目で停止
ipdb> print(e, a)
8 4
1 import ipdb; ipdb.set_trace(context=10);
2
3 b = 2
4 evo=[1,5,3,8]
5 ana=[7,6,5,4]
6 for e,a in zip(evo,ana):
7 ____print("aaaa")
8 ____c=a*b
9 ____d=e+c
ipdb> break 7, e == 8
Breakpoint 1 ./ipdb_conditional_breakpoint.py:7
ipdb> c
# e ==8 の場合のみ7行目で停止
ipdb> print(e, a)
8 4
445デフォルトの名無しさん
2020/02/02(日) 22:34:59.17ID:nTdekf5z forやdefで使う変数が多くなったときはどうしてますか?
7個ぐらいになってくると
行が長くなって何とかしたほうが良いのか
悩みます
色々ありがとうございます
>>442
blenderというソフト内のpython使ってて
本格的なデバッグ機能があまりないのです
その辺りは専用スレで聞いてみます
7個ぐらいになってくると
行が長くなって何とかしたほうが良いのか
悩みます
色々ありがとうございます
>>442
blenderというソフト内のpython使ってて
本格的なデバッグ機能があまりないのです
その辺りは専用スレで聞いてみます
446デフォルトの名無しさん
2020/02/03(月) 00:07:04.35ID:XimuQ1Xy447デフォルトの名無しさん
2020/02/03(月) 00:42:52.51ID:M5UXjnSG448デフォルトの名無しさん
2020/02/03(月) 01:02:38.47ID:XimuQ1Xy449デフォルトの名無しさん
2020/02/03(月) 01:07:17.80ID:XimuQ1Xy 2.1.5. Explicit line joining
2.1.6. Implicit line joining
https://docs.python.org/3/reference/lexical_analysis.html#explicit-line-joining
2.1.6. Implicit line joining
https://docs.python.org/3/reference/lexical_analysis.html#explicit-line-joining
450デフォルトの名無しさん
2020/02/03(月) 12:17:00.67ID:62FLJlST451デフォルトの名無しさん
2020/02/03(月) 12:20:59.82ID:62FLJlST ああそういう意味じゃないのか
制御変数の話なら適当に改行汁
あと blender は漏れも使ってるけど
癖があるので普通の python だと思わない方が良い
(普通の python で慣れてる人が使う分には問題無いが)
考え無しにあれを使い続けると糞プログラマになるだけだと思う
制御変数の話なら適当に改行汁
あと blender は漏れも使ってるけど
癖があるので普通の python だと思わない方が良い
(普通の python で慣れてる人が使う分には問題無いが)
考え無しにあれを使い続けると糞プログラマになるだけだと思う
452デフォルトの名無しさん
2020/02/04(火) 23:09:14.52ID:0mUTKS9X plt.subplot使ってグラフを2つ表示しています
plt.subplot(1, 2, 1)
plt.title('attention')
plt.subplot(1, 2, 2)
plt.title('Non attention')
2つのグラフの下中央に大きなタイトルを表示したいのですが、
なにか良い方法ありますでしょうか?
plt.subplot(1, 2, 1)
plt.title('attention')
plt.subplot(1, 2, 2)
plt.title('Non attention')
2つのグラフの下中央に大きなタイトルを表示したいのですが、
なにか良い方法ありますでしょうか?
453デフォルトの名無しさん
2020/02/05(水) 10:06:39.19ID:FfddlBUI def test():
def test_test():
print("test")
があったときに、test_test()を呼び出すにはどうしたらいいですか?
def test_test():
print("test")
があったときに、test_test()を呼び出すにはどうしたらいいですか?
454デフォルトの名無しさん
2020/02/05(水) 10:25:09.93ID:boA3ajbM ちょっと何言ってるか分からない
455デフォルトの名無しさん
2020/02/05(水) 10:41:21.50ID:d60p+KZz ARM64でビルドしたPythonってどっか落ちてませんか
456デフォルトの名無しさん
2020/02/05(水) 11:33:01.43ID:FfddlBUI >>454
すみません、インデントが反映されていなくて分かりづらい感じになってしまいました。
↓のように、クラス内にメソッドがあって、メソッドの中に関数がある場合
どうやって関数を外部から呼び出せばいいのでしょうか?
def test():
def test_test():
print("test")
外部ではなく、内部から呼び出すには
def test():
def test_test():
print("test")
test_test()
とすれば呼び出せますが、test()の外から呼び出す方法を知りたいです。
すみません、インデントが反映されていなくて分かりづらい感じになってしまいました。
↓のように、クラス内にメソッドがあって、メソッドの中に関数がある場合
どうやって関数を外部から呼び出せばいいのでしょうか?
def test():
def test_test():
print("test")
外部ではなく、内部から呼び出すには
def test():
def test_test():
print("test")
test_test()
とすれば呼び出せますが、test()の外から呼び出す方法を知りたいです。
457デフォルトの名無しさん
2020/02/05(水) 12:38:02.65ID:fbcJymO4 ローカル変数みたいなものだから外部からアクセスはできない
458デフォルトの名無しさん
2020/02/05(水) 13:09:59.68ID:+QFykdso def test(str):
・def closure():
・・print(str)
・return closure
c = test("closure test");
c()
・def closure():
・・print(str)
・return closure
c = test("closure test");
c()
459デフォルトの名無しさん
2020/02/05(水) 13:14:47.01ID:d60p+KZz class testclass:
def test(self):
def test_test(str):
print(str)
return test_test
f = testclass().test()
f("aaaaaaa")
へぇこんな事できるんだ、何に使えるもの?
def test(self):
def test_test(str):
print(str)
return test_test
f = testclass().test()
f("aaaaaaa")
へぇこんな事できるんだ、何に使えるもの?
460デフォルトの名無しさん
2020/02/05(水) 13:23:28.11ID:FfddlBUI461デフォルトの名無しさん
2020/02/05(水) 14:20:51.30ID:2gxpMPkb >>459
デコレータとか
デコレータとか
462デフォルトの名無しさん
2020/02/05(水) 15:18:52.75ID:6NLusyAl csvの例えば5列目が2,3,5,7,3,5,7,,,,,といろんな数字で並んでるとき、
その列の特定の数字を一括して別の数字に変換して、csv保存したいのですが、サンプルコードを頂けないでしょうか
その列の特定の数字を一括して別の数字に変換して、csv保存したいのですが、サンプルコードを頂けないでしょうか
463デフォルトの名無しさん
2020/02/05(水) 15:32:28.07ID:HabtckGA >>462
pandas 置換 🔍
pandas 置換 🔍
464デフォルトの名無しさん
2020/02/05(水) 16:46:26.26ID:2rKdW1Ec >>452
figureの任意の位置にテキスト表示出来る
figureの任意の位置にテキスト表示出来る
465デフォルトの名無しさん
2020/02/05(水) 16:49:43.06ID:2rKdW1Ec >>460
適当なことを言うな
適当なことを言うな
466デフォルトの名無しさん
2020/02/05(水) 17:01:00.50ID:FfddlBUI >>465
いや、ホントの話
いや、ホントの話
467デフォルトの名無しさん
2020/02/05(水) 19:05:15.67ID:2rKdW1Ec うそだとは言っていない
468デフォルトの名無しさん
2020/02/05(水) 19:29:47.90ID:PnTZcdWz 毎秒何百回程度でやたら遅くなる
とか言うのは嘘と言い切ってもいいと思う
とか言うのは嘘と言い切ってもいいと思う
469デフォルトの名無しさん
2020/02/05(水) 19:56:00.86ID:FfddlBUI >>468
いやこれもホントに
処理内容次第なので、処理負荷の低いものなら気づかないですけど
timeitとか使わなくても目で見て明らかに遅いレベルまで遅くなったんです
信じてもらえなくても別にいいですけど、僕に得も何もないんで
いやこれもホントに
処理内容次第なので、処理負荷の低いものなら気づかないですけど
timeitとか使わなくても目で見て明らかに遅いレベルまで遅くなったんです
信じてもらえなくても別にいいですけど、僕に得も何もないんで
470デフォルトの名無しさん
2020/02/05(水) 19:59:06.82ID:2rKdW1Ec @staticmethod
471デフォルトの名無しさん
2020/02/05(水) 20:21:18.03ID:3A2Vd31x cとPHPとシェルとストアドプロシージャ位しか書けないんだけど
パイソンでDLバリバリになるには何の書籍から始めるのが良い?
やっぱ統計学はやんなきゃ話にならない?
パイソンでDLバリバリになるには何の書籍から始めるのが良い?
やっぱ統計学はやんなきゃ話にならない?
472デフォルトの名無しさん
2020/02/05(水) 20:27:09.11ID:xJPwpbdq473デフォルトの名無しさん
2020/02/05(水) 20:32:56.42ID:V2ceD5vC 敢えて喩えるほど実際から離れていく
474デフォルトの名無しさん
2020/02/05(水) 20:45:08.49ID:oCA39UVc >>471
はなしにならんので勉強汁
はなしにならんので勉強汁
475デフォルトの名無しさん
2020/02/05(水) 20:45:33.80ID:gx9j2avt 統計ってベイズ推定とか?
476デフォルトの名無しさん
2020/02/05(水) 20:50:45.28ID:Pb0OV2Dy 統計とかエクセルでまとめた方が使いやすくない?
477デフォルトの名無しさん
2020/02/05(水) 20:56:17.65ID:l5EZ/l0z >>472
俺、機械学習さっぱりわからんが、なんか核心をついているような言葉だが
基礎となる統計がわからない自称機械学習エンジニアはただの占い師
ターゲットのビジネスがわからない自称機械学習エンジニアはただのベンチマーク厨
が正しいんじゃないのか
>>471
>cとPHPとシェルとストアドプロシージャ位しか書けないんだけど
こんな自己紹介からして、お前はソフトエンジニアではなくプログラムかける土方
ってかんじだろ。
そんな奴が目指しているのは機械学習"エンジニア"ではなく
機械学習を用いる占い師 や機械学習のベンチマークができる厨 じゃないのか?
なら、統計学なんてやる必要ないんじゃないか。
エンジニアになりたいなら基礎理論の統計学はしっかりやらんとだめだろうが。
どの分野でもめざせエンジニアなら基礎はしっかりやらないと駄目だろ。
例えばソフトエンジニアなら大学・大学院の情報工学科でやるようなことは
学んでないとな。
と偉そうなこと言っている俺は趣味でプログラミングなんだがな。
俺、機械学習さっぱりわからんが、なんか核心をついているような言葉だが
基礎となる統計がわからない自称機械学習エンジニアはただの占い師
ターゲットのビジネスがわからない自称機械学習エンジニアはただのベンチマーク厨
が正しいんじゃないのか
>>471
>cとPHPとシェルとストアドプロシージャ位しか書けないんだけど
こんな自己紹介からして、お前はソフトエンジニアではなくプログラムかける土方
ってかんじだろ。
そんな奴が目指しているのは機械学習"エンジニア"ではなく
機械学習を用いる占い師 や機械学習のベンチマークができる厨 じゃないのか?
なら、統計学なんてやる必要ないんじゃないか。
エンジニアになりたいなら基礎理論の統計学はしっかりやらんとだめだろうが。
どの分野でもめざせエンジニアなら基礎はしっかりやらないと駄目だろ。
例えばソフトエンジニアなら大学・大学院の情報工学科でやるようなことは
学んでないとな。
と偉そうなこと言っている俺は趣味でプログラミングなんだがな。
478デフォルトの名無しさん
2020/02/05(水) 20:58:14.94ID:V2ceD5vC なげえよカス?
479デフォルトの名無しさん
2020/02/05(水) 21:10:16.72ID:GCTF3gV7 >>469
そこまで言うなら比較用のコードでも出してくれ
そこまで言うなら比較用のコードでも出してくれ
480デフォルトの名無しさん
2020/02/05(水) 21:10:55.94ID:aNozFXKi 長さの割に中身ゼロの長文には参るな
>>477は今ではチョロっとライブラリインストールするだけで
どんな素人でも始めることのできる機械学習についてまったく分からず
おまけにプロでもないアマチュアなのでエンジニアの求人にも必要資格にも全く詳しくないけど
「エンジニアの資格」にだけは一家言ある変な人ってわけだ
>>477は今ではチョロっとライブラリインストールするだけで
どんな素人でも始めることのできる機械学習についてまったく分からず
おまけにプロでもないアマチュアなのでエンジニアの求人にも必要資格にも全く詳しくないけど
「エンジニアの資格」にだけは一家言ある変な人ってわけだ
481デフォルトの名無しさん
2020/02/05(水) 21:20:46.43ID:oCA39UVc482デフォルトの名無しさん
2020/02/05(水) 21:27:18.91ID:ZizT6Tal 簡単なことなんだけどな
データがあって、目的が決まっている
この二点をクリアできないと機械学習をする意味がない
二点がクリアされたとしても性能がでるという保証はないが
データがあって、目的が決まっている
この二点をクリアできないと機械学習をする意味がない
二点がクリアされたとしても性能がでるという保証はないが
483デフォルトの名無しさん
2020/02/06(木) 09:04:06.46ID:GAMNd4TG BeautifulSoupとかいうのを使ってGoogle画像検索結果をスクレイピングしてたけど
多分Google検索結果あたりが変わってとれなくなりました。
html.select('.rg_meta.notranslate')
このあたりの仕様が多分変更になったと思うんですが
うまく取得できる方法を教えて頂けたら有難いです…。よろしくお願い致します;。
多分Google検索結果あたりが変わってとれなくなりました。
html.select('.rg_meta.notranslate')
このあたりの仕様が多分変更になったと思うんですが
うまく取得できる方法を教えて頂けたら有難いです…。よろしくお願い致します;。
484デフォルトの名無しさん
2020/02/06(木) 09:10:38.29ID:76t6g1c3 今後検索結果が変更になる度にここで聞くのかな?(笑)
485デフォルトの名無しさん
2020/02/06(木) 09:14:57.47ID:GAMNd4TG >>484
申し訳ありません…
でしたら、クラスの指定と思うのですがそのあたりのコツと言いますか
間違いなく出来る方法あたりをお教頂けましたら…
現在 .rg_i というクラスはあるのですが
これをもう、 .rg_i. src img href a そのた思いつくものを
やれるだけ順番を前後させても、半日以上経過しても進めず
本当に苦しくなってきてしまっておりまして、すみません…。
申し訳ありません…
でしたら、クラスの指定と思うのですがそのあたりのコツと言いますか
間違いなく出来る方法あたりをお教頂けましたら…
現在 .rg_i というクラスはあるのですが
これをもう、 .rg_i. src img href a そのた思いつくものを
やれるだけ順番を前後させても、半日以上経過しても進めず
本当に苦しくなってきてしまっておりまして、すみません…。
486デフォルトの名無しさん
2020/02/06(木) 09:31:11.49ID:xfRnZ+h4 BeautifulSoup使ったことないがググったら答え即でたw
487デフォルトの名無しさん
2020/02/06(木) 09:37:38.28ID:GAMNd4TG488デフォルトの名無しさん
2020/02/06(木) 10:35:45.43ID:GAMNd4TG >>486
すみませんです…どうやって検索したらよいかお教え頂けましたら…
すみませんです…どうやって検索したらよいかお教え頂けましたら…
489デフォルトの名無しさん
2020/02/06(木) 11:07:22.39ID:d7NhcEcy 教えてやるからどこかにパースしてるHTMLを全部置け
そしてどの要素が欲しいかHTMLの中に <!--この要素が欲しい--> と書け
そしてどの要素が欲しいかHTMLの中に <!--この要素が欲しい--> と書け
490デフォルトの名無しさん
2020/02/06(木) 11:20:21.83ID:xfRnZ+h4 JavaScriptで動的になったからSelenium使えって書いてた
491デフォルトの名無しさん
2020/02/06(木) 11:27:31.04ID:GAMNd4TG 有難うございます。
すみません、keywordは山として以下のようにして取得を目指しており
それで<!-- --> でほしいのですが 以下の表記方法ではだめでしょうか。
urlKeyword = parse.quote(keyword)
url = 'https://www.google.com/search?hl=jp&q=' + urlKeyword + '&btnG=Google+Search&tbs=0&safe=off&tbm=isch'
headers = {"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/10.0",}
request = req.Request(url=url, headers=headers)
page = req.urlopen(request)
html = page.read().decode('utf-8')
html = bs4.BeautifulSoup(html, "html.parser")
elems = html.select('.rg_meta.notranslate')
この最後の.rg_meta.notranslate のあたりで目的の画像を一つ一つ取り出せなくなっていると分析しています。
すみません、keywordは山として以下のようにして取得を目指しており
それで<!-- --> でほしいのですが 以下の表記方法ではだめでしょうか。
urlKeyword = parse.quote(keyword)
url = 'https://www.google.com/search?hl=jp&q=' + urlKeyword + '&btnG=Google+Search&tbs=0&safe=off&tbm=isch'
headers = {"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/10.0",}
request = req.Request(url=url, headers=headers)
page = req.urlopen(request)
html = page.read().decode('utf-8')
html = bs4.BeautifulSoup(html, "html.parser")
elems = html.select('.rg_meta.notranslate')
この最後の.rg_meta.notranslate のあたりで目的の画像を一つ一つ取り出せなくなっていると分析しています。
492デフォルトの名無しさん
2020/02/06(木) 11:28:23.61ID:GAMNd4TG 一昨日くらいまでは取れておりました。
現在も、 ではグーグル画像検索そのものが取れてないとか何かブロックされているのか?と言うと
elems= の前に 例えば print(html) とするとGoogle画像検索結果の画面全体は取れているのです。
しかしそれは全体像なので、個々の1枚1枚を取得してphpmyadminに格納したり、とかそれが狙いであるので
elems = のところでつまずいてはやはりまずい具合です。
そして目的の画像検索結果、 例えば 山で検索して
<!--
<img class="rg_i Q4LuWd tx8vtf"
src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
data-iid="0" data-iurl="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRFWZJ-G8GOvPEcPPJZqy_IqLTMokKOyW_VAdDON2S_9V6cnOQZ" jsname="Q4LuWd"
alt="「山」の画像検索結果" />
-->
↑この要素が欲しいものです
ここのimgのclassにrg_i というものがありこれはヒントの一つ?かと想像したりするのですが
data-iurl= のこれが取得したい画像のURLだと思います。 URLで hrefでなく こういう書式で表示されているのだな、と思いますが
ここを取得したいと思っております。
すみませんが;宜しくお願い致します;
現在も、 ではグーグル画像検索そのものが取れてないとか何かブロックされているのか?と言うと
elems= の前に 例えば print(html) とするとGoogle画像検索結果の画面全体は取れているのです。
しかしそれは全体像なので、個々の1枚1枚を取得してphpmyadminに格納したり、とかそれが狙いであるので
elems = のところでつまずいてはやはりまずい具合です。
そして目的の画像検索結果、 例えば 山で検索して
<!--
<img class="rg_i Q4LuWd tx8vtf"
src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
data-iid="0" data-iurl="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRFWZJ-G8GOvPEcPPJZqy_IqLTMokKOyW_VAdDON2S_9V6cnOQZ" jsname="Q4LuWd"
alt="「山」の画像検索結果" />
-->
↑この要素が欲しいものです
ここのimgのclassにrg_i というものがありこれはヒントの一つ?かと想像したりするのですが
data-iurl= のこれが取得したい画像のURLだと思います。 URLで hrefでなく こういう書式で表示されているのだな、と思いますが
ここを取得したいと思っております。
すみませんが;宜しくお願い致します;
493デフォルトの名無しさん
2020/02/06(木) 11:42:27.42ID:GAMNd4TG494デフォルトの名無しさん
2020/02/06(木) 12:10:59.12ID:xAE/eJ0Q 改行を含めてfindする方法ってないですか?
495デフォルトの名無しさん
2020/02/06(木) 12:25:05.18ID:PruBe/51 >>492
他に使ってなさそうで欲しい属性分かってるんだったら
elems = html.select('img[data-iurl]')
これでよくね
あとfirefox10でも47でもないいい加減なUAはやめとけ
他に使ってなさそうで欲しい属性分かってるんだったら
elems = html.select('img[data-iurl]')
これでよくね
あとfirefox10でも47でもないいい加減なUAはやめとけ
496デフォルトの名無しさん
2020/02/06(木) 12:35:55.03ID:/hIhK6yv 要素を非同期処理で読み込むから、要素が存在しないとか、
サイトの構成が変わったとか、
XPath/CSS セレクターが間違っているとか、
相手がアクセスをブロックしてくるとか
スクレイピングは、相手のサイトを分析するのが難しいのと、
適切に限定される、セレクターを作るのが難しい
API が公開されているなら、APIを使った方がよい
漏れは、Ruby で、Selenium WebDriver, Nokogiri などで、
Chrome, Edge などのブラウザーを自動操作して、スクレイピングするけど
ここに書いておいた
【VBScript】WSHについて話し合うスレ【JScript】
https://mevius.5ch.net/test/read.cgi/tech/1578522041/24-27
サイトの構成が変わったとか、
XPath/CSS セレクターが間違っているとか、
相手がアクセスをブロックしてくるとか
スクレイピングは、相手のサイトを分析するのが難しいのと、
適切に限定される、セレクターを作るのが難しい
API が公開されているなら、APIを使った方がよい
漏れは、Ruby で、Selenium WebDriver, Nokogiri などで、
Chrome, Edge などのブラウザーを自動操作して、スクレイピングするけど
ここに書いておいた
【VBScript】WSHについて話し合うスレ【JScript】
https://mevius.5ch.net/test/read.cgi/tech/1578522041/24-27
497デフォルトの名無しさん
2020/02/06(木) 12:41:43.46ID:zAec24ND >>494
改行=\n または \r\n
改行=\n または \r\n
498496
2020/02/06(木) 12:45:42.46ID:/hIhK6yv >>492
Base64 は、HTML でもよく使う
Base64の文字列で、PNG/JPEG画像を、HTMLファイルに直接埋め込める
<img src="data:image/png;base64,xxxxx..." />
Base64 は、HTML でもよく使う
Base64の文字列で、PNG/JPEG画像を、HTMLファイルに直接埋め込める
<img src="data:image/png;base64,xxxxx..." />
499496
2020/02/06(木) 12:59:31.10ID:/hIhK6yv >>492
適切に、1つに限定される、セレクターを作るのが難しい!
以下で、特定できないのか?
class="rg_i Q4LuWd tx8vtf"
data-iid="0"
jsname="Q4LuWd"
それか、img 要素の外側で、id など、限定される要素を探すか。
基本的には、idを探さないと特定できない
idを振っていない場合は、そのサイト特有のルールを発見しないといけない!
例えば、5ch のスレ内では、id が無いから、
data-id に投稿番号が入っているので、それを使うとか
このように、相手のサイトを分析するのが難しい!
適切に、1つに限定される、セレクターを作るのが難しい!
以下で、特定できないのか?
class="rg_i Q4LuWd tx8vtf"
data-iid="0"
jsname="Q4LuWd"
それか、img 要素の外側で、id など、限定される要素を探すか。
基本的には、idを探さないと特定できない
idを振っていない場合は、そのサイト特有のルールを発見しないといけない!
例えば、5ch のスレ内では、id が無いから、
data-id に投稿番号が入っているので、それを使うとか
このように、相手のサイトを分析するのが難しい!
500デフォルトの名無しさん
2020/02/06(木) 13:30:53.32ID:GAMNd4TG >>495
firefoxのUA、修正します。すみませんでした;
そして、以下でやってみましたが
elems = html.select('img[data-iurl]')
なぜか出来ずに、うむむ…と申し訳ありません、さらに研究してみますが…
firefoxのUA、修正します。すみませんでした;
そして、以下でやってみましたが
elems = html.select('img[data-iurl]')
なぜか出来ずに、うむむ…と申し訳ありません、さらに研究してみますが…
501496
2020/02/06(木) 14:30:31.06ID:/hIhK6yv >>496
にも書いたけど、
要素をAjax で非同期処理に読み込むから、またimg 要素が存在しないとか?
Ruby で、Selenium WebDriver を使えば、要素が出現するまで、自動的にwait する。
await みたいに、非同期処理を同期的に書ける
にも書いたけど、
要素をAjax で非同期処理に読み込むから、またimg 要素が存在しないとか?
Ruby で、Selenium WebDriver を使えば、要素が出現するまで、自動的にwait する。
await みたいに、非同期処理を同期的に書ける
502496
2020/02/06(木) 14:34:29.34ID:/hIhK6yv もっと簡単に、10〜20 秒ぐらい、sleep したら、img 要素が出現しないのか?
503デフォルトの名無しさん
2020/02/06(木) 16:58:26.66ID:GAMNd4TG 一応成功致しました!
>>500
結果としてelems = html.select('img[data-iurl]')
で、このelemsとしては取れていたようです!
ここは元々elems = html.select('.rg_meta.notranslate')
であったと最初に出しましたが このelemsを
↓(適当〜8行くらい)
------------------
for ele in elems:
eledict = dict()
ele = ele.contents[0].replace('"','').split(',')
for e in ele:
num = e.find(':')
eledict[e[0:num]] = e[num+1:]
imageURL = eledict['ou']・・・・・
--------------
というような感じで使っていたのですが img[data-iurl]の今回? 目的のurl自体はスムーズに取れていたようで
for ele in elems:
imageURL = ele.get('data-iurl')
今回elemsのeleを ele.get('data-iurl') で、1枚づつ取ることができたようでした。
有難うございました!
>>500
結果としてelems = html.select('img[data-iurl]')
で、このelemsとしては取れていたようです!
ここは元々elems = html.select('.rg_meta.notranslate')
であったと最初に出しましたが このelemsを
↓(適当〜8行くらい)
------------------
for ele in elems:
eledict = dict()
ele = ele.contents[0].replace('"','').split(',')
for e in ele:
num = e.find(':')
eledict[e[0:num]] = e[num+1:]
imageURL = eledict['ou']・・・・・
--------------
というような感じで使っていたのですが img[data-iurl]の今回? 目的のurl自体はスムーズに取れていたようで
for ele in elems:
imageURL = ele.get('data-iurl')
今回elemsのeleを ele.get('data-iurl') で、1枚づつ取ることができたようでした。
有難うございました!
504デフォルトの名無しさん
2020/02/06(木) 20:03:36.02ID:bDkEju7l asyncioってわかる人いますか?
505デフォルトの名無しさん
2020/02/07(金) 07:27:17.45ID:cGGfIEk4 知ってるよ(どの程度を期待してるのか知らないけどな)
506デフォルトの名無しさん
2020/02/08(土) 07:30:51.90ID:u54KGCZV thread
threading
multiprocessing
concurrent.futures
asyncio
この辺の違いがよく分からない
threading
multiprocessing
concurrent.futures
asyncio
この辺の違いがよく分からない
507デフォルトの名無しさん
2020/02/08(土) 08:43:13.34ID:sQ9sQIGh >>506
それらはOSやCPUを自力で作れる神クラスの技術者でないと理解できないし、使いこなせないと思う
一般人である自分もドキュメントを読んでみたが、チンプンカンプン(死語)だった
さっさと忘れてPythonを楽しみましょう
それらはOSやCPUを自力で作れる神クラスの技術者でないと理解できないし、使いこなせないと思う
一般人である自分もドキュメントを読んでみたが、チンプンカンプン(死語)だった
さっさと忘れてPythonを楽しみましょう
508デフォルトの名無しさん
2020/02/08(土) 10:13:41.17ID:gJJFnkpu GUIやるなら、threadかasyncioのどちらかは必須。
509デフォルトの名無しさん
2020/02/08(土) 10:16:19.38ID:I0dCURwg プロセスとスレッドの違いは知っておいて損はない
510デフォルトの名無しさん
2020/02/08(土) 10:19:32.94ID:0YppiA+B GUIやるならC#+VisualStudioが一番
511デフォルトの名無しさん
2020/02/08(土) 10:26:34.58ID:iJq/sxyx Macにも持っていけるの?
>>510
>>510
512デフォルトの名無しさん
2020/02/08(土) 10:32:22.39ID:0YppiA+B Mac持ってないからわからん
俺は自分用ツールしか作ったことない
俺は自分用ツールしか作ったことない
513デフォルトの名無しさん
2020/02/08(土) 10:37:32.38ID:VCX1KXbd なんで情弱しか使わないMacに対応しなきゃいけないんですか!(半ギレ
514デフォルトの名無しさん
2020/02/08(土) 11:10:45.42ID:E/mrDwXz Windowsは情強だけ使っていればよろしい
515デフォルトの名無しさん
2020/02/08(土) 11:12:38.04ID:K7+uW5ie シェア一割のくせに態度だけ見てると九割くらいありそうだよなw
516デフォルトの名無しさん
2020/02/08(土) 12:15:26.33ID:E/mrDwXz Mac以外の残り9割の殆どがゴミ
517デフォルトの名無しさん
2020/02/08(土) 12:37:42.97ID:W0we+YOR 売れない芸人が一丁前に何か言ってるわ
518デフォルトの名無しさん
2020/02/08(土) 13:20:07.76ID:iJq/sxyx Windows/Mac/iOS/androidに対応したGUIを作ることができます
そう、pythonならね
そう、pythonならね
519デフォルトの名無しさん
2020/02/08(土) 13:33:43.29ID:9Nn74D/R React Native + Expo
アシアルのMonaca(Cordova/PhoneGap) + Onsen UI もある
アシアルのMonaca(Cordova/PhoneGap) + Onsen UI もある
520デフォルトの名無しさん
2020/02/08(土) 13:47:48.76ID:YnTe+96U 普通にWindowsで作ったC#はLinuxでもMacでもMonoで動くぞ
521デフォルトの名無しさん
2020/02/08(土) 13:48:05.92ID:YnTe+96U GUI含めて。
522デフォルトの名無しさん
2020/02/08(土) 14:36:46.22ID:FKWW677q >>520
.netcoreだよね?
.netcoreだよね?
523デフォルトの名無しさん
2020/02/08(土) 14:46:34.93ID:KXr/QwX0 Monoって書いてるだろ
524519
2020/02/08(土) 15:35:46.13ID:9Nn74D/R525デフォルトの名無しさん
2020/02/08(土) 16:54:09.53ID:DP9vcaNb >>515
ワロタ!(・∀・)
ワロタ!(・∀・)
526デフォルトの名無しさん
2020/02/08(土) 17:09:56.17ID:Gwq8LIiY Ruby禁止だけじゃなくMono/C#も禁止するか
527デフォルトの名無しさん
2020/02/08(土) 17:19:51.57ID:szXf7gpM qtって汚いよな
528デフォルトの名無しさん
2020/02/08(土) 17:28:08.83ID:uuv8oSvR RADツールもないもんな
知らんけど
知らんけど
529デフォルトの名無しさん
2020/02/08(土) 17:29:00.79ID:0wE1WgKD530デフォルトの名無しさん
2020/02/08(土) 17:46:35.97ID:Ewdvkn0R 世代交代しか訴えられないんじゃぁ、ぶてぃじぇっじもたいした候補じゃねーなぁ
531デフォルトの名無しさん
2020/02/08(土) 17:51:48.56ID:lxxY/dO6 やっぱ一番かっこいいのはkivy?
533デフォルトの名無しさん
2020/02/08(土) 21:53:48.06ID:tg7wd02h >>506
ソフトエンジニアならわからないと馬鹿にされるんだろうが
でも、この底辺スレに来る連中はエンジニアではなく低レベルのサンデープログラマが
ほとんどで分からない奴が大多数だろ(もちろん俺もわからん)
ソフトエンジニアならわからないと馬鹿にされるんだろうが
でも、この底辺スレに来る連中はエンジニアではなく低レベルのサンデープログラマが
ほとんどで分からない奴が大多数だろ(もちろん俺もわからん)
534デフォルトの名無しさん
2020/02/08(土) 22:16:28.53ID:DP9vcaNb >>506
プロセス(OSから見えてる単位)→スッドレ(プロセスの下にわさわさ増殖可能)→コア(CPUの部品)
1プロセス=1CPU
プロセスとプロセスの間の情報やり取りはゲキムズ&低速。
スッドレとスッドレの間はやり取りOKだけど、
メモリを奪い合わったり書き換えっこになったりしないように要注意。
あと、旧来は1スッドレ1コアが普通だったけど、
今は2スッドレ1コアが普通になりつつあり、
多スッドレ→1コアする場合はメモリ領域の扱いに注意が必要。
(どのスッドレも同時にみんな手をつないでゴール!を強要されない計算の場合は)
1つのプロセスからいっぱいスッドレわかせて計算するより、
いっぱいプロセス湧かせて順次まとめあげる方が、高速&効率が良いはずである。
だが、
多プロセス化するとメモリはもっさり消費される傾向なので、
ほんとのところは、
やりたいことが同期を強く求めてるかどうかと、マシンスペックによるのである。
プロセス(OSから見えてる単位)→スッドレ(プロセスの下にわさわさ増殖可能)→コア(CPUの部品)
1プロセス=1CPU
プロセスとプロセスの間の情報やり取りはゲキムズ&低速。
スッドレとスッドレの間はやり取りOKだけど、
メモリを奪い合わったり書き換えっこになったりしないように要注意。
あと、旧来は1スッドレ1コアが普通だったけど、
今は2スッドレ1コアが普通になりつつあり、
多スッドレ→1コアする場合はメモリ領域の扱いに注意が必要。
(どのスッドレも同時にみんな手をつないでゴール!を強要されない計算の場合は)
1つのプロセスからいっぱいスッドレわかせて計算するより、
いっぱいプロセス湧かせて順次まとめあげる方が、高速&効率が良いはずである。
だが、
多プロセス化するとメモリはもっさり消費される傾向なので、
ほんとのところは、
やりたいことが同期を強く求めてるかどうかと、マシンスペックによるのである。
535デフォルトの名無しさん
2020/02/08(土) 22:17:55.33ID:0YppiA+B 突っ込まないぞ
536デフォルトの名無しさん
2020/02/08(土) 22:18:40.14ID:0wE1WgKD スッドレスッドレ
(わさわさ)
(わさわさ)
537デフォルトの名無しさん
2020/02/08(土) 22:31:02.57ID:DP9vcaNb (つづき)
さきにあげた並行処理をPythonにさせるとき使うライブラリが506の質問であがってるさいしょの3ツ。
threading : スッドレをいっぱいわかせることができる(マルチスッドレ)
multiprocessing : プロセスを複数作れる
ケツ2つはやはり並行処理なのだが、
「ノンブロッキング処理」とゆうのをさせるためのもので、
投入されたPythonのバージョンが違う(concurrent.futuresの方が古い)のと、
とっつきやすさが違う(concurrent.futuresの方が人類にはとっつきやすい)。
これらを使うメリットがあるのは下の3条件を満たしてるとき。特に3についてはよく考えろ。
1.過程で、ボトルネックなクソ重い処理がある
2.それが何度もやってくる
3.ボトルネックの通過完了時刻が全部バラバラになってもおk(追い越しOK)で、
最終的にまとまればいい。
もっと詳しくは
ggってHitした↓でもよんでくれ。
ttps://qiita.com/icoxfog417/items/07cbf5110ca82629aca0
さきにあげた並行処理をPythonにさせるとき使うライブラリが506の質問であがってるさいしょの3ツ。
threading : スッドレをいっぱいわかせることができる(マルチスッドレ)
multiprocessing : プロセスを複数作れる
ケツ2つはやはり並行処理なのだが、
「ノンブロッキング処理」とゆうのをさせるためのもので、
投入されたPythonのバージョンが違う(concurrent.futuresの方が古い)のと、
とっつきやすさが違う(concurrent.futuresの方が人類にはとっつきやすい)。
これらを使うメリットがあるのは下の3条件を満たしてるとき。特に3についてはよく考えろ。
1.過程で、ボトルネックなクソ重い処理がある
2.それが何度もやってくる
3.ボトルネックの通過完了時刻が全部バラバラになってもおk(追い越しOK)で、
最終的にまとまればいい。
もっと詳しくは
ggってHitした↓でもよんでくれ。
ttps://qiita.com/icoxfog417/items/07cbf5110ca82629aca0
538デフォルトの名無しさん
2020/02/08(土) 22:31:57.71ID:DP9vcaNb ココハ ゴジャースナ(・∀・)スッドレ ダヨ!!!
539デフォルトの名無しさん
2020/02/09(日) 01:28:40.71ID:JzPk4jqf540デフォルトの名無しさん
2020/02/09(日) 07:52:13.11ID:CdDouLVX >>> (10).to_bytes(2,'big')
b'\x00\n'
期待している結果となりません。
b'\x00\x0a' にならないのは何故?
b'\x00\n'
期待している結果となりません。
b'\x00\x0a' にならないのは何故?
541デフォルトの名無しさん
2020/02/09(日) 08:44:46.73ID:vHnIKgeN >>540
ドキュメントのbyteオブジェクト関連の項目を読むと書いてあるが
文字として見せた方がわかりやすいと思われるバイト値は
16進ではなく文字で表示する方針なのだそうだ
だから値としては正しく格納されているので気にしなくてよろしい
ドキュメントのbyteオブジェクト関連の項目を読むと書いてあるが
文字として見せた方がわかりやすいと思われるバイト値は
16進ではなく文字で表示する方針なのだそうだ
だから値としては正しく格納されているので気にしなくてよろしい
542デフォルトの名無しさん
2020/02/09(日) 09:24:21.10ID:CdDouLVX543デフォルトの名無しさん
2020/02/09(日) 09:30:32.92ID:vHnIKgeN >>542
ところで、この(値).to_bytes()っていう書き方は初見なんだが
いつからある機能なんだろうか(自分の知識はver.3.3で止まっている)
JavaっぽくてPythonらしくないと感じるのだが
ところで、この(値).to_bytes()っていう書き方は初見なんだが
いつからある機能なんだろうか(自分の知識はver.3.3で止まっている)
JavaっぽくてPythonらしくないと感じるのだが
544デフォルトの名無しさん
2020/02/09(日) 09:51:55.28ID:CdDouLVX545デフォルトの名無しさん
2020/02/09(日) 10:38:09.30ID:hMxVM0F3 flaskでsms認証つけたいんですけど何がおすすめでしょうか?
アカウントにユーザーのメルアド、氏名、住所もつけておきたいです。
アカウントにユーザーのメルアド、氏名、住所もつけておきたいです。
546デフォルトの名無しさん
2020/02/09(日) 10:56:43.41ID:vHnIKgeN547デフォルトの名無しさん
2020/02/09(日) 11:03:20.76ID:uG+JJfG5 知識が増えただけで賢くはなって無いんじゃないの
548デフォルトの名無しさん
2020/02/09(日) 11:07:52.69ID:vHnIKgeN549デフォルトの名無しさん
2020/02/09(日) 11:26:42.55ID:uG+JJfG5 会話に茶々入れたくなければ公開掲示板なんかで聞かなきゃいいじゃん
つまりいくらでも茶々入れていいのが2ch5chでしょ
その基本を無視して俺ルールをいきなり押し付けられても困る
で、賢さってのは知識量のことなワケ?
つまりいくらでも茶々入れていいのが2ch5chでしょ
その基本を無視して俺ルールをいきなり押し付けられても困る
で、賢さってのは知識量のことなワケ?
550デフォルトの名無しさん
2020/02/09(日) 11:27:51.13ID:uG+JJfG5 だって「超初心者」が知識と賢さを混同してるらしいからね
ほっとけないね
ほっとけないね
551デフォルトの名無しさん
2020/02/09(日) 11:32:14.37ID:EbhgtQ51 >>539
>ハードウェアマルチスレッディングとソフトウェアによる通常のマルチスレッドをごちゃまぜに理解
そのようだ…
ありがとう
そしてありがとう
Pythonのライブラリでやれるのは
ソフトウェア的マルチスッドレだな
>ハードウェアマルチスレッディングとソフトウェアによる通常のマルチスレッドをごちゃまぜに理解
そのようだ…
ありがとう
そしてありがとう
Pythonのライブラリでやれるのは
ソフトウェア的マルチスッドレだな
552デフォルトの名無しさん
2020/02/09(日) 11:34:06.96ID:EbhgtQ51553デフォルトの名無しさん
2020/02/09(日) 12:11:02.39ID:vWZlCr2H list = [1,2,3,4,5,6,7,8,9,10]
というリストがあった場合
for i in list:
とするよりも
for i in set(list):
とする方が高速ですか?
それとも、setに変更しても元々がリストなので早くならないですか?
というリストがあった場合
for i in list:
とするよりも
for i in set(list):
とする方が高速ですか?
それとも、setに変更しても元々がリストなので早くならないですか?
554デフォルトの名無しさん
2020/02/09(日) 12:16:47.36ID:uG+JJfG5 一般的には想定される普通の使い方をする時に一番早くなるように言語を作る
それに間に一枚噛んでると遅くなる、と思うのが人間
あとは長さ10万くらいのリストを数千回試して時間を計る
それに間に一枚噛んでると遅くなる、と思うのが人間
あとは長さ10万くらいのリストを数千回試して時間を計る
555デフォルトの名無しさん
2020/02/09(日) 12:26:35.34ID:mfrF5HLR >>553
試すといいよ。ってのが正しいと思うけど、あえてマニュアルから。
https://docs.python.org/ja/3/reference/compound_stmts.html#the-for-statement
> 式リストは一度だけ評価されます。
ってあるから、ほぼ変わらんのでは?
試すといいよ。ってのが正しいと思うけど、あえてマニュアルから。
https://docs.python.org/ja/3/reference/compound_stmts.html#the-for-statement
> 式リストは一度だけ評価されます。
ってあるから、ほぼ変わらんのでは?
556デフォルトの名無しさん
2020/02/09(日) 12:44:06.57ID:zgc2MTJg list->setのコスト分だけ遅いだろ
557デフォルトの名無しさん
2020/02/09(日) 12:53:21.16ID:2kp9QhUs 論より証拠
昔の人は良いことを言った
昔の人は良いことを言った
558デフォルトの名無しさん
2020/02/09(日) 13:38:53.89ID:haksjRuS お前ら木偶の坊なんだから俺の疑問に答えて少しは世の中の役に立てよ
という意識があのような質問を生むのだ
という意識があのような質問を生むのだ
559デフォルトの名無しさん
2020/02/09(日) 14:44:11.09ID:KmTvxb40560デフォルトの名無しさん
2020/02/09(日) 14:49:31.50ID:KmTvxb40 sum(x for x in range(10))
sum([x for x in range(10)])
だった。
sum([x for x in range(10)])
だった。
561デフォルトの名無しさん
2020/02/09(日) 14:56:02.52ID:OACAfflF562デフォルトの名無しさん
2020/02/09(日) 15:22:07.62ID:O6Vx4x7H >>553
listをsetに変換するコストを無視してもsetをイテレートするほうが遅いよ
hash tableをイテレートする時に必要な処理とlistをイテレートする時に必要な処理の違い
といってもその差は微々たるものだから
その差が重要なプログラムを書こうとしてるなら言語を変えたほうがいいかも
listをsetに変換するコストを無視してもsetをイテレートするほうが遅いよ
hash tableをイテレートする時に必要な処理とlistをイテレートする時に必要な処理の違い
といってもその差は微々たるものだから
その差が重要なプログラムを書こうとしてるなら言語を変えたほうがいいかも
563デフォルトの名無しさん
2020/02/09(日) 15:35:28.11ID:vWZlCr2H564デフォルトの名無しさん
2020/02/09(日) 15:45:54.02ID:wTv3WydA565デフォルトの名無しさん
2020/02/09(日) 15:54:02.80ID:KmTvxb40 for i in set(list):
listのイテレートとsetのイテレートが発生するのと、一旦setのためのメモリが確保されるから、
setの重複排除機能が必要でない限り、100%無駄だと断言できる。
listのイテレートとsetのイテレートが発生するのと、一旦setのためのメモリが確保されるから、
setの重複排除機能が必要でない限り、100%無駄だと断言できる。
566デフォルトの名無しさん
2020/02/09(日) 16:12:45.54ID:O6Vx4x7H >>563
複数のやり方でどれが速いのか気になったら%timeitしよう
複数のやり方でどれが速いのか気になったら%timeitしよう
567デフォルトの名無しさん
2020/02/09(日) 16:14:09.61ID:wTv3WydA むしろforの中身を見直すか
numpyとか使うべき
ループはクソ遅い
numpyとか使うべき
ループはクソ遅い
568デフォルトの名無しさん
2020/02/09(日) 21:20:07.67ID:U6aZQoQk 質問者はリストにin演算子使うと遅いって話と混同してるんじゃないかと
そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが
そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが
569デフォルトの名無しさん
2020/02/09(日) 22:35:43.77ID:u7Xk0tZr570デフォルトの名無しさん
2020/02/09(日) 23:21:11.41ID:U6aZQoQk571デフォルトの名無しさん
2020/02/10(月) 00:00:12.89ID:NX1L632S >>568
リストをfor文を回してsetより速くする方法が他にあるってことですか?
リストをfor文を回してsetより速くする方法が他にあるってことですか?
572デフォルトの名無しさん
2020/02/10(月) 00:07:40.31ID:fRmEVRio >>570
リストって、毎回全要素をリニアサーチしているって事ですか?
リストって、毎回全要素をリニアサーチしているって事ですか?
573デフォルトの名無しさん
2020/02/10(月) 01:46:01.93ID:y8VN1gM7574デフォルトの名無しさん
2020/02/10(月) 07:54:06.49ID:NX1L632S >>573
なるほど、ありがとうございます
なるほど、ありがとうございます
575デフォルトの名無しさん
2020/02/10(月) 09:51:35.16ID:5lt6zYiz576デフォルトの名無しさん
2020/02/10(月) 09:58:28.58ID:8uBZGbTk577デフォルトの名無しさん
2020/02/10(月) 16:12:22.59ID:fRmEVRio 色々脱線はしているのかもしれないが、最初の質問は >>553 で
リストを処理するのに、そのままよりも、
setを噛ませた方が速くなるかどうか、ということであって
リストの内容は全件処理しているようだし
リストを処理するのに、そのままよりも、
setを噛ませた方が速くなるかどうか、ということであって
リストの内容は全件処理しているようだし
578デフォルトの名無しさん
2020/02/10(月) 17:20:59.87ID:8uBZGbTk なに意味不明なことうだうだ言ってんの
579デフォルトの名無しさん
2020/02/10(月) 17:29:20.70ID:fRmEVRio 568 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 21:20:07.67 ID:U6aZQoQk
質問者はリストにin演算子使うと遅いって話と混同してるんじゃないかと
そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが
570 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 23:21:11.41 ID:U6aZQoQk
>>569
setはハッシュ値で格納位置を一発で割り出す
リストは要素をすべて舐め回して探す
この辺の説明を ID:U6aZQoQk がちゃんとすれば良いんだと思う
質問者はリストにin演算子使うと遅いって話と混同してるんじゃないかと
そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが
570 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 23:21:11.41 ID:U6aZQoQk
>>569
setはハッシュ値で格納位置を一発で割り出す
リストは要素をすべて舐め回して探す
この辺の説明を ID:U6aZQoQk がちゃんとすれば良いんだと思う
580デフォルトの名無しさん
2020/02/10(月) 17:38:58.14ID:8uBZGbTk 逆になにがわからないのかわからないんだが
581デフォルトの名無しさん
2020/02/10(月) 17:42:34.83ID:fRmEVRio 分かるまで、みんなの話を聞いていたら
582デフォルトの名無しさん
2020/02/10(月) 17:44:23.19ID:fRmEVRio 553 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 12:11:02.39 ID:vWZlCr2H
list = [1,2,3,4,5,6,7,8,9,10]
というリストがあった場合
for i in list:
とするよりも
for i in set(list):
とする方が高速ですか?
それとも、setに変更しても元々がリストなので早くならないですか?
これが最初の質問
list = [1,2,3,4,5,6,7,8,9,10]
というリストがあった場合
for i in list:
とするよりも
for i in set(list):
とする方が高速ですか?
それとも、setに変更しても元々がリストなので早くならないですか?
これが最初の質問
583デフォルトの名無しさん
2020/02/10(月) 17:47:57.76ID:fRmEVRio この質問で想定される回答は
for i in set(list):の方が高速
どちらも変わらない
set 使わない方が高速
この三通りじゃないかと思うが
for i in set(list):の方が高速
どちらも変わらない
set 使わない方が高速
この三通りじゃないかと思うが
584デフォルトの名無しさん
2020/02/10(月) 17:55:55.56ID:cKG4UD69585デフォルトの名無しさん
2020/02/10(月) 17:59:57.44ID:cKG4UD69586デフォルトの名無しさん
2020/02/10(月) 18:20:13.36ID:fRmEVRio 回答までにしか興味は無いです
後は、妄想も含めた雑談なわけだし
後は、妄想も含めた雑談なわけだし
587デフォルトの名無しさん
2020/02/10(月) 18:21:49.94ID:8uBZGbTk588デフォルトの名無しさん
2020/02/10(月) 19:06:26.64ID:NX1L632S589デフォルトの名無しさん
2020/02/10(月) 19:34:40.34ID:TAH0RZ5f590デフォルトの名無しさん
2020/02/10(月) 19:44:21.91ID:fRmEVRio >>589
ハッシュキーが衝突したレコードが大量にあるとか、かな?
ハッシュキーが衝突したレコードが大量にあるとか、かな?
591デフォルトの名無しさん
2020/02/11(火) 10:10:26.19ID:QVEssOx9 ちっちゃい質問かもなんですが
かっこ閉じ際の位置ってpython的にはどこが良いですか?
例えば
def kakko(a,b):
____a+b
というdefを使うときに行の最後にかっこをつけるか
kakko(
____1+2+3+4,
____5+4+6+7)
改行してかっこの中のインデントに合わせるか
kakko(
____1+2+3+4,
____5+4+6+7
___)
kakkoのインデントに合わせるのか
kakko(
____1+2+3+4,
____5+4+6+7
)
かっこ閉じ際の位置ってpython的にはどこが良いですか?
例えば
def kakko(a,b):
____a+b
というdefを使うときに行の最後にかっこをつけるか
kakko(
____1+2+3+4,
____5+4+6+7)
改行してかっこの中のインデントに合わせるか
kakko(
____1+2+3+4,
____5+4+6+7
___)
kakkoのインデントに合わせるのか
kakko(
____1+2+3+4,
____5+4+6+7
)
592デフォルトの名無しさん
2020/02/11(火) 10:24:42.95ID:iLli/Di+ >>591
pythonの思想は1行で処理だから改行すな
pythonの思想は1行で処理だから改行すな
593デフォルトの名無しさん
2020/02/11(火) 10:30:13.65ID:KtXysiBK kakko(
____1+2+3+4,
____5+4+6+7)
または
kakko(1+2+3+4,
____5+4+6+7)
____1+2+3+4,
____5+4+6+7)
または
kakko(1+2+3+4,
____5+4+6+7)
594591
2020/02/11(火) 11:02:07.61ID:QVEssOx9595デフォルトの名無しさん
2020/02/11(火) 11:07:02.60ID:BVyNsmkt 実運用としてはblackとかyapfにフォーマットさせてそれに従っとく
596591
2020/02/11(火) 11:51:51.81ID:QVEssOx9597デフォルトの名無しさん
2020/02/11(火) 12:22:58.77ID:Nq1ZGiCx pythonの流儀・作法に従うのが一番いい
もしもどうしてもやりたいなら他のメジャーな流儀を真似る
WINAPI とは何か? - C/C++ 入門
https://c.keicode.com/windows/windows-programming-11.php
int WINAPI WinMain (
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow ) {
もしもどうしてもやりたいなら他のメジャーな流儀を真似る
WINAPI とは何か? - C/C++ 入門
https://c.keicode.com/windows/windows-programming-11.php
int WINAPI WinMain (
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow ) {
598デフォルトの名無しさん
2020/02/11(火) 13:52:28.79ID:YRn6ep9S599デフォルトの名無しさん
2020/02/11(火) 14:25:45.03ID:L4MHQKAq Pythonの初級を受けた人いますか?
どのような勉強されたか教えてください
m(__)m
どのような勉強されたか教えてください
m(__)m
600デフォルトの名無しさん
2020/02/11(火) 15:36:18.95ID:lGXjI99c 継承クラスのinitの引数が増える場合はどうしたらいいですか?
class person():
def __init__(self, age):
this.age = age
class student(person):
def__init__(self, age, number)
this.age = age
this.number = number
こんな感じにしたいのですが。
class person():
def __init__(self, age):
this.age = age
class student(person):
def__init__(self, age, number)
this.age = age
this.number = number
こんな感じにしたいのですが。
601デフォルトの名無しさん
2020/02/11(火) 15:56:30.44ID:BVyNsmkt602デフォルトの名無しさん
2020/02/11(火) 15:58:27.34ID:RWYSN8yj603デフォルトの名無しさん
2020/02/11(火) 15:59:40.15ID:BVyNsmkt604デフォルトの名無しさん
2020/02/11(火) 16:01:24.03ID:BVyNsmkt それにしても、金になると思うとすぐ資格ビジネス屋が群がりやがって
605デフォルトの名無しさん
2020/02/11(火) 16:52:49.23ID:RUM4eNEQ a1 = 0, a2 = 0, a3・・・・が続く
for i in range(1, 2):
i = i +1
a[i] = 5
a+数字に値を入れたいのですがa[i]のような使い方はできないのでしょうか
for i in range(1, 2):
i = i +1
a[i] = 5
a+数字に値を入れたいのですがa[i]のような使い方はできないのでしょうか
606デフォルトの名無しさん
2020/02/11(火) 17:57:52.94ID:iLli/Di+ pythonってインターフェースって概念はあるんだっけ?
607デフォルトの名無しさん
2020/02/11(火) 17:58:18.86ID:L4MHQKAq608デフォルトの名無しさん
2020/02/11(火) 18:15:03.26ID:noKKsZcY609デフォルトの名無しさん
2020/02/11(火) 18:35:43.13ID:AyaWNvDt これはスゴイ
やりたい事はなんとなく分かるが、
何をやりたいのかが分からない
やりたい事はなんとなく分かるが、
何をやりたいのかが分からない
610デフォルトの名無しさん
2020/02/11(火) 18:50:33.09ID:HQEYSI3a611デフォルトの名無しさん
2020/02/11(火) 19:40:05.81ID:X3jD9Kja これは高確率でやり方よくないパターン
612デフォルトの名無しさん
2020/02/11(火) 19:47:41.29ID:a/euzlWM 初心者のうちはそういうことやりたくなるのわからなくもないけど素直にlist使いましょう
613デフォルトの名無しさん
2020/02/11(火) 21:21:11.13ID:v/oRLdRM >>605
for i in range(1, 2):
____i = i +1
____x = “a%s” % i # xには”a2”という文字列が入る
____locals()[x] = 5
静的言語のリフレクションみたいなのは
globals/locals, getattr/setattr/delattr
文字列をコードとして評価したいならeval
実行したいならexec
for i in range(1, 2):
____i = i +1
____x = “a%s” % i # xには”a2”という文字列が入る
____locals()[x] = 5
静的言語のリフレクションみたいなのは
globals/locals, getattr/setattr/delattr
文字列をコードとして評価したいならeval
実行したいならexec
614デフォルトの名無しさん
2020/02/11(火) 22:13:11.46ID:ZhnXkLvm615デフォルトの名無しさん
2020/02/11(火) 22:48:00.31ID:v/oRLdRM >>614
絶対違うと思うがそういう解釈ができなくもないなw
subscriptingは__getitem__, __setitem__を使えば可能
https://ideone.com/7WR8yJ
絶対違うと思うがそういう解釈ができなくもないなw
subscriptingは__getitem__, __setitem__を使えば可能
https://ideone.com/7WR8yJ
616デフォルトの名無しさん
2020/02/11(火) 22:48:39.30ID:6c6RIlRn あー
for i in range(1000):
__try:
____a[i]=5
__except
的な?
for i in range(1000):
__try:
____a[i]=5
__except
的な?
617デフォルトの名無しさん
2020/02/11(火) 23:02:14.51ID:RUM4eNEQ618デフォルトの名無しさん
2020/02/12(水) 02:21:47.75ID:8gaFy0VD dtreevizで決定木を可視化したのですが棒グラフの下の閾値が謎の数値と被ってとても見にくい状態です
閾値だけ表示させることはできますか?
閾値だけ表示させることはできますか?
619デフォルトの名無しさん
2020/02/12(水) 08:34:59.50ID:MxyBlFwL a1=0,0
はタプルになるから
a1=0,a2=0
もそうかと思ったらこっちはエラーだな
はタプルになるから
a1=0,a2=0
もそうかと思ったらこっちはエラーだな
620デフォルトの名無しさん
2020/02/12(水) 15:55:30.07ID:a1w2Xqz0621デフォルトの名無しさん
2020/02/12(水) 17:24:47.59ID:LrVjYqM5 別にええやん
学生かもしれないしプログラマーじゃない可能性も高いし
簡易的なツール作るだけならそんな高いレベル求められないし
execを覚えたというだけでも成長したのにそんな言い草あるか?
学生かもしれないしプログラマーじゃない可能性も高いし
簡易的なツール作るだけならそんな高いレベル求められないし
execを覚えたというだけでも成長したのにそんな言い草あるか?
622デフォルトの名無しさん
2020/02/12(水) 17:34:29.91ID:QgfOdoDN >>616
どういうこと?
どういうこと?
623デフォルトの名無しさん
2020/02/12(水) 18:24:00.47ID:h0cbN6Js624デフォルトの名無しさん
2020/02/12(水) 22:17:48.25ID:ohhYjydu 環境はMacです、ワケあってpython2を使おうとしてpip install -U python2を行ったら
Requirement already up-to-date: python2 in
/usr/local/Cellar/pypy3/7.3.0/libexec/site-packages (1.2)
と表示され、versionが1.2でしかもpython2 -Vとしてもコマンドが見つからないと
言われるのでどういうことかと首をかしげpip listを行うと
$pip list
Package Version
---------- -------
appdirs 1.4.3
cffi 1.13.2
greenlet 0.4.13
packaging 20.0
pip 20.0.2
pyparsing 2.4.6
python2 1.2
readline 6.2.4.1
setuptools 44.0.0
six 1.13.0
と表示され、numpyなどが入ってないので何かおかしいと思い、
numpy.__version__、numpy.__file__を確認するとそれぞれ
'1.17.3'、'/usr/local/lib/python3.7/site-packages/numpy/__init__.py'
まあ正直どうなってるかよく分からないのでとりあえずpip install -U numpyを行うと
Successfully installed numpy-1.18.1
しかし上記のように__version__を確認しても、'1.17.3'のままでした。
pipのlistには1.18.1でしっかり入ってます。
これって何が起きてるんでしょうか?Homebrewでinstallした可能性も考えたのですが
brew listを行ってもnumpyもscipyも見つからずpypy、pypy3、pythonがあるくらいです
pipのversionは
pip 20.0.2 from /usr/local/Cellar/pypy3/7.3.0/libexec/site-packages/pip (python 3.6)
です。思い当たる原因としては一回brewでpypy3を消したらpip効かなくなったことですが、
消す前にpipでinstallしたものは今でも普通にimportが効きます。
pipに表示されない原因に思い当たる方がいたらどうかよろしくお願いします。
Requirement already up-to-date: python2 in
/usr/local/Cellar/pypy3/7.3.0/libexec/site-packages (1.2)
と表示され、versionが1.2でしかもpython2 -Vとしてもコマンドが見つからないと
言われるのでどういうことかと首をかしげpip listを行うと
$pip list
Package Version
---------- -------
appdirs 1.4.3
cffi 1.13.2
greenlet 0.4.13
packaging 20.0
pip 20.0.2
pyparsing 2.4.6
python2 1.2
readline 6.2.4.1
setuptools 44.0.0
six 1.13.0
と表示され、numpyなどが入ってないので何かおかしいと思い、
numpy.__version__、numpy.__file__を確認するとそれぞれ
'1.17.3'、'/usr/local/lib/python3.7/site-packages/numpy/__init__.py'
まあ正直どうなってるかよく分からないのでとりあえずpip install -U numpyを行うと
Successfully installed numpy-1.18.1
しかし上記のように__version__を確認しても、'1.17.3'のままでした。
pipのlistには1.18.1でしっかり入ってます。
これって何が起きてるんでしょうか?Homebrewでinstallした可能性も考えたのですが
brew listを行ってもnumpyもscipyも見つからずpypy、pypy3、pythonがあるくらいです
pipのversionは
pip 20.0.2 from /usr/local/Cellar/pypy3/7.3.0/libexec/site-packages/pip (python 3.6)
です。思い当たる原因としては一回brewでpypy3を消したらpip効かなくなったことですが、
消す前にpipでinstallしたものは今でも普通にimportが効きます。
pipに表示されない原因に思い当たる方がいたらどうかよろしくお願いします。
625デフォルトの名無しさん
2020/02/12(水) 22:41:09.40ID:mtSj8YKm626デフォルトの名無しさん
2020/02/12(水) 23:00:22.35ID:bYqOq5KM 605です。ご迷惑をおかけして申し訳ありません
最初に書いた例が私自身もよくわかっていないまま書いたのが駄目でした
皆さまのアドバイスでコードが完成しました
https://pastebin.com/y2QT7m3E
色んな方法があると思うのですが、教えて頂いたexecとevalを使いました
コード中のa_no_list[0] にはforで作ったa1を入れて、そのa1にランダム関数の数字を代入しました
手動でa1,a2を作って値を入れたりというのは出来たのですが、forで任意の回数繰り返して自動でa1,a2作れないかとこちらに相談した次第です
forでprint(a[i])もa(i)もできるようになって、自動でリストの中の要素の中の要素・・・・を表示したり代入できるようになってるはずだと思います
ちなみにこれは初心者参考書を1/4まで読み終わった復習として作りました
最初に書いた例が私自身もよくわかっていないまま書いたのが駄目でした
皆さまのアドバイスでコードが完成しました
https://pastebin.com/y2QT7m3E
色んな方法があると思うのですが、教えて頂いたexecとevalを使いました
コード中のa_no_list[0] にはforで作ったa1を入れて、そのa1にランダム関数の数字を代入しました
手動でa1,a2を作って値を入れたりというのは出来たのですが、forで任意の回数繰り返して自動でa1,a2作れないかとこちらに相談した次第です
forでprint(a[i])もa(i)もできるようになって、自動でリストの中の要素の中の要素・・・・を表示したり代入できるようになってるはずだと思います
ちなみにこれは初心者参考書を1/4まで読み終わった復習として作りました
627デフォルトの名無しさん
2020/02/12(水) 23:30:50.90ID:ohhYjydu >>625
ありがとうございます、それ聞いて試しに
aliasのpython="python3"
を外したら動きました、linuxだとpython2で認識するんですけど
macだと効かないんですね……悩んでた問題が一つ解決しました、本当にありがとうございます。
ただ今インストールされてるnumpyやtensorflowなどがpipで出ない方は解決できてません
上記のこともありpip listとpip3 list両方試したんですが全く同じ結果でした……
ありがとうございます、それ聞いて試しに
aliasのpython="python3"
を外したら動きました、linuxだとpython2で認識するんですけど
macだと効かないんですね……悩んでた問題が一つ解決しました、本当にありがとうございます。
ただ今インストールされてるnumpyやtensorflowなどがpipで出ない方は解決できてません
上記のこともありpip listとpip3 list両方試したんですが全く同じ結果でした……
628デフォルトの名無しさん
2020/02/12(水) 23:52:40.41ID:ohhYjydu 申し訳ありません、自己解決しました
何故かPATHで/usr/PATH/pypy3が先頭に立っててpypyが一番最初に呼び出される設定になってた為
pypy3のpipが表示されてたんだと思います……PATHのpypy3外したら直りました。
長文と勘違いで迷惑を書けてしまい申し訳ありませんでした。
何故かPATHで/usr/PATH/pypy3が先頭に立っててpypyが一番最初に呼び出される設定になってた為
pypy3のpipが表示されてたんだと思います……PATHのpypy3外したら直りました。
長文と勘違いで迷惑を書けてしまい申し訳ありませんでした。
629デフォルトの名無しさん
2020/02/13(木) 00:09:12.49ID:n7qjy+CZ セルフってなんやねん!?
630デフォルトの名無しさん
2020/02/13(木) 00:14:39.35ID:Gd0xgnoa 自分でガソリンを入れるスタンド
631デフォルトの名無しさん
2020/02/13(木) 08:14:35.67ID:0eJoVY/8 >>626
どうしてa1とかa2の変数名が必要なのかわからないな
どうしてa1とかa2の変数名が必要なのかわからないな
632デフォルトの名無しさん
2020/02/13(木) 12:13:43.09ID:lzB8uQ2A >>629
オナニーをテーマにした漫画だよ。
オナニーをテーマにした漫画だよ。
633デフォルトの名無しさん
2020/02/13(木) 14:49:45.00ID:MOac+3r5 >>629
話すと長いから解説してるブログ貼る
簡単に言えばselfを書くことで新しい機能を追加することなく書けるからって考えらしい
https://python.ms/self/#%E3%81%95%E3%82%89%E3%81%AB%E4%BB%96%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
話すと長いから解説してるブログ貼る
簡単に言えばselfを書くことで新しい機能を追加することなく書けるからって考えらしい
https://python.ms/self/#%E3%81%95%E3%82%89%E3%81%AB%E4%BB%96%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
634デフォルトの名無しさん
2020/02/13(木) 17:35:23.50ID:r7bSHOfr pythonでオブジェクト指向やれば
selfだらけになってシグナルノイズ比が高い事は自覚しておくべき
明示的にselfを渡してる言語としてGoやRustと同列に語るのはぶっちゃけ頭おかしい
Goはどの型のメソッドが識別するためにselfを渡してる
Goの場合はそれ以外で識別する方法がないから
Rustはselfの使い方が3種類があるから
関数がどの種類なのかをシグニチャで指定するために明示的にselfを渡してる
selfだらけになってシグナルノイズ比が高い事は自覚しておくべき
明示的にselfを渡してる言語としてGoやRustと同列に語るのはぶっちゃけ頭おかしい
Goはどの型のメソッドが識別するためにselfを渡してる
Goの場合はそれ以外で識別する方法がないから
Rustはselfの使い方が3種類があるから
関数がどの種類なのかをシグニチャで指定するために明示的にselfを渡してる
635デフォルトの名無しさん
2020/02/13(木) 18:39:18.80ID:Ure0FzdD >>626
何を参考にコーディングしたらそれが生まれたのか純粋に知りたいw
何を参考にコーディングしたらそれが生まれたのか純粋に知りたいw
636デフォルトの名無しさん
2020/02/13(木) 19:02:19.46ID:qvECNN2e 条件分岐の分かり易い書き方について教えてください
通常ではa=bで
c=0の時はa=zで
d=1の時はa=yというときに
if c == 0:
__a=z
elif b==1:
__a=y
else :
__a=b
になりますがほとんどの場合a=bになって
まれにa=y やa=zになるとすると
a=bが最後に来るのはわかりにくい気がするんですが
どうしてますか?
通常ではa=bで
c=0の時はa=zで
d=1の時はa=yというときに
if c == 0:
__a=z
elif b==1:
__a=y
else :
__a=b
になりますがほとんどの場合a=bになって
まれにa=y やa=zになるとすると
a=bが最後に来るのはわかりにくい気がするんですが
どうしてますか?
637デフォルトの名無しさん
2020/02/13(木) 19:45:20.94ID:n7qjy+CZ >>633
ありがてえ!!
ありがてえ!!
638デフォルトの名無しさん
2020/02/13(木) 20:12:27.95ID:Ure0FzdD639デフォルトの名無しさん
2020/02/13(木) 20:16:27.98ID:Ure0FzdD ちなみにそんなことよりも、自分がレビューするとしたら
cが0でbが1の時は本当にa=zでいいのかとかが不安になるわ
cが0でbが1の時は本当にa=zでいいのかとかが不安になるわ
640デフォルトの名無しさん
2020/02/13(木) 21:36:32.33ID:r7bSHOfr >>636
通常ケースと通常でないケースという認識なんであれば
3つを並列に書くんじゃなくガード節を使ったりして通常ケースとそれ以外のケースを分離する
def evaluate(b, c):
____if c == 0:
________return z
____if b == 1:
________return y
____return b
通常ケースと通常でないケースという認識なんであれば
3つを並列に書くんじゃなくガード節を使ったりして通常ケースとそれ以外のケースを分離する
def evaluate(b, c):
____if c == 0:
________return z
____if b == 1:
________return y
____return b
641デフォルトの名無しさん
2020/02/13(木) 21:40:41.28ID:zu6t+bqI コメントにそう書いておく。
642デフォルトの名無しさん
2020/02/13(木) 21:59:00.84ID:n7qjy+CZ pythonてSwitch文ないの?
643デフォルトの名無しさん
2020/02/13(木) 22:08:31.25ID:Gd0xgnoa ない
644デフォルトの名無しさん
2020/02/13(木) 23:45:35.00ID:l+IDZGdn まあ変数の真名と役割をコメントしてくれないと可読性の議論は出来ないよね
順番とか記述方法云々よりそっちが先
順番とか記述方法云々よりそっちが先
645636
2020/02/13(木) 23:51:12.83ID:qvECNN2e646デフォルトの名無しさん
2020/02/14(金) 13:14:33.56ID:a5iC3cHy >>636
カルノー図を覚えろ
カルノー図を覚えろ
647デフォルトの名無しさん
2020/02/14(金) 14:54:01.70ID:/S4vU3l9 mac os 10.11.6
python 3.7.4
https://ideone.com/Mkhw9S
ターミナルから上のスクリプトを実行すると以下のようなエラーがおきます。
VScodeから実行した場合は問題なく実行されます。
Non-UTF-8 code starting with '¥xe6' in file test2.py on line 2, but no encoding declared;
https://ideone.com/D9Fkym
上のスクリプトはターミナルからも実行できます。
(リストの文字列の数のみの違いです)
以前はこんな感じのエラーは起きなかったのですが
原因がわかる方おられますか?
python 3.7.4
https://ideone.com/Mkhw9S
ターミナルから上のスクリプトを実行すると以下のようなエラーがおきます。
VScodeから実行した場合は問題なく実行されます。
Non-UTF-8 code starting with '¥xe6' in file test2.py on line 2, but no encoding declared;
https://ideone.com/D9Fkym
上のスクリプトはターミナルからも実行できます。
(リストの文字列の数のみの違いです)
以前はこんな感じのエラーは起きなかったのですが
原因がわかる方おられますか?
648647
2020/02/14(金) 14:59:14.12ID:/S4vU3l9 自己レスです。
# coding: UTF-8を入れたらターミナルからも実行できましたが、
なぜリストの内容数とVScodeからだと問題無いのかがわかりません。
# coding: UTF-8を入れたらターミナルからも実行できましたが、
なぜリストの内容数とVScodeからだと問題無いのかがわかりません。
649デフォルトの名無しさん
2020/02/14(金) 15:27:13.81ID:WtuYdkw5 atomic bomb
650デフォルトの名無しさん
2020/02/14(金) 15:34:47.45ID:+9NDg3r6 「python non-utf-8 code starting with ' xe6'」で検索!
どうせ、文字コードが異なるとか?
BOM 無しUTF-8 で保存すれば?
漏れは、Windows 10, VSCode で、Ruby, JavaScript などを使うけど、
すべてのファイルを、BOM 無しUTF-8 だけにしている!
どうせ、文字コードが異なるとか?
BOM 無しUTF-8 で保存すれば?
漏れは、Windows 10, VSCode で、Ruby, JavaScript などを使うけど、
すべてのファイルを、BOM 無しUTF-8 だけにしている!
651647
2020/02/14(金) 15:39:07.65ID:/S4vU3l9652デフォルトの名無しさん
2020/02/14(金) 15:40:45.69ID:WtuYdkw5 # coding: UTF-8 書いてなかったんだろ
653デフォルトの名無しさん
2020/02/14(金) 15:42:19.46ID:WtuYdkw5654647
2020/02/14(金) 15:52:33.27ID:/S4vU3l9655デフォルトの名無しさん
2020/02/14(金) 15:57:16.26ID:WtuYdkw5 sys.getdefaultencoding() みろ
656647
2020/02/14(金) 16:01:14.20ID:/S4vU3l9 >>> sys.getdefaultencoding()
'utf-8'
'utf-8'
657デフォルトの名無しさん
2020/02/14(金) 16:01:50.30ID:WtuYdkw5 お前は言われたことしかできないんか?
https://qiita.com/methane/items/6e294ef5a1fad4afa843
https://qiita.com/methane/items/6e294ef5a1fad4afa843
658647
2020/02/14(金) 16:07:55.64ID:/S4vU3l9 >>657
単にマウント取りたいだけなら返信不要です
単にマウント取りたいだけなら返信不要です
659650
2020/02/14(金) 17:08:51.51ID:+9NDg3r6 >>654
VSCode では、Microsoft がPython の拡張機能も作っているし、
設定ファイルにでも、UTF-8 で起動するように書いてあるのだろう
一般的には、IDE などの統合開発環境は、親切
VSCode では、Microsoft がPython の拡張機能も作っているし、
設定ファイルにでも、UTF-8 で起動するように書いてあるのだろう
一般的には、IDE などの統合開発環境は、親切
660デフォルトの名無しさん
2020/02/14(金) 17:19:37.05ID:EOtBZfN8 >>654
原因はバグ
対処は改行して1行のバイト数を減らすか
明示的にencoding指定をファイルの先頭に記述するか
https://bugs.python.org/issue34979
VSCodeで実行できるのは>>659の書いてる通り何か設定してるからだと思われる
俺の環境ではVSCodeでも同じエラーが出る
原因はバグ
対処は改行して1行のバイト数を減らすか
明示的にencoding指定をファイルの先頭に記述するか
https://bugs.python.org/issue34979
VSCodeで実行できるのは>>659の書いてる通り何か設定してるからだと思われる
俺の環境ではVSCodeでも同じエラーが出る
661647
2020/02/14(金) 17:21:58.26ID:/S4vU3l9662デフォルトの名無しさん
2020/02/14(金) 19:07:56.62ID:+2T2g9zy 要領悪いやつ
大人しくutf8宣言しときゃ動くんだからそうしろよ
お前なんかがvscodeのバグ発見したからって何になるんだ
時間のムダ
大人しくutf8宣言しときゃ動くんだからそうしろよ
お前なんかがvscodeのバグ発見したからって何になるんだ
時間のムダ
663デフォルトの名無しさん
2020/02/14(金) 19:13:36.39ID:x4GfXJj6 単に知的好奇心だろ
おまえみたいなIT土方にはわからんか
おまえみたいなIT土方にはわからんか
664デフォルトの名無しさん
2020/02/14(金) 19:39:14.54ID:+2T2g9zy 全く知的ではない
ただの"何でvscodeだと上手くいかないのムキー"でしかない
その証拠にバグと分かったらもう投げ出してる
ただの"何でvscodeだと上手くいかないのムキー"でしかない
その証拠にバグと分かったらもう投げ出してる
665デフォルトの名無しさん
2020/02/14(金) 19:44:06.77ID:x4GfXJj6 それがなんで証拠なんやろうか
バクについてまでは興味ないってだけやろうに
土方が偉そうに評価するな
バクについてまでは興味ないってだけやろうに
土方が偉そうに評価するな
666デフォルトの名無しさん
2020/02/14(金) 19:56:12.57ID:+2T2g9zy バグだったら仕方ない、
自分のせいじゃない、
よかったよかったあースッキリ。
どこに知的要素が存在するのか
自分のせいじゃない、
よかったよかったあースッキリ。
どこに知的要素が存在するのか
667デフォルトの名無しさん
2020/02/14(金) 20:00:15.70ID:x4GfXJj6 知的好奇心のない奴は動けばいいやでuft8宣言して終わりだろうな
668650
2020/02/14(金) 20:19:25.00ID:+9NDg3r6 プログラマーが日本語のバグで時間を使うのは、馬鹿らしい。
Python は、日本語対応をやってない
Ruby なら、Cookpad・マネーフォワード・Ruby 開発とか、
日本人のメンテナーが、一杯いる
Python は、日本語対応をやってない
Ruby なら、Cookpad・マネーフォワード・Ruby 開発とか、
日本人のメンテナーが、一杯いる
669デフォルトの名無しさん
2020/02/14(金) 20:23:20.50ID:+2T2g9zy670デフォルトの名無しさん
2020/02/14(金) 20:26:32.77ID:x4GfXJj6 IT土方は動けばいいだけだもんな
671デフォルトの名無しさん
2020/02/15(土) 00:24:05.85ID:GcRD3KfQ True=1,False=0じゃなくて
IFで何行も書かなくても
Trueの時は1をかけて、Falseの時はマイナス1を掛ける方法ってありますか?
IFで何行も書かなくても
Trueの時は1をかけて、Falseの時はマイナス1を掛ける方法ってありますか?
672デフォルトの名無しさん
2020/02/15(土) 00:33:48.85ID:NYbvjz3Y 普通は
*(1 if hoge else 0)
だろうな
hoge*1でもできるっぽいけど
*(1 if hoge else 0)
だろうな
hoge*1でもできるっぽいけど
673デフォルトの名無しさん
2020/02/15(土) 00:50:26.77ID:GcRD3KfQ674デフォルトの名無しさん
2020/02/15(土) 00:52:40.95ID:NYbvjz3Y よく読んでなくてすまん
675デフォルトの名無しさん
2020/02/15(土) 04:34:54.53ID:CrxoAXqf >>671
hoge*2-1
hoge*2-1
676デフォルトの名無しさん
2020/02/15(土) 07:03:08.25ID:1M8DJTak677デフォルトの名無しさん
2020/02/15(土) 07:39:54.28ID:cl/r4jK1 *[-1,1][hoge]とか
678デフォルトの名無しさん
2020/02/15(土) 08:44:35.96ID:lCqRUL4P679デフォルトの名無しさん
2020/02/15(土) 12:23:37.16ID:GcRD3KfQ680デフォルトの名無しさん
2020/02/15(土) 12:33:06.53ID:Od0WFVIs681デフォルトの名無しさん
2020/02/15(土) 12:54:17.21ID:OeWG4QMt どーでもよくて草
683デフォルトの名無しさん
2020/02/15(土) 13:09:52.19ID:a5tEBtfb それはわたしの肛門だ
684デフォルトの名無しさん
2020/02/15(土) 13:29:58.94ID:J1bovO5o 糞みたいな小手先のテクニック使うくらいなら潔く if else で書けや
685デフォルトの名無しさん
2020/02/15(土) 14:48:11.69ID:cTwFsuY/ x * [-1, 1][hoge]ってことだと思うが
流石にこれはない
評価する変数にboolしか入らない状況なら
x * (hoge or -1) でいいんじゃないかと思うが
これだと何のためにやってるかわかりにくいので
通常のif else使って関数化したほうがいい気もする
流石にこれはない
評価する変数にboolしか入らない状況なら
x * (hoge or -1) でいいんじゃないかと思うが
これだと何のためにやってるかわかりにくいので
通常のif else使って関数化したほうがいい気もする
686デフォルトの名無しさん
2020/02/15(土) 22:11:51.52ID:L3zGf310 >>684-685
俺もそう思う。
元質問をしたPythonでの三項演算の表記を知らないレベルの人は
x * [-1, 1][hoge]やx * (hoge or -1) を嬉々として・どや顔して
使いそうだが
俺もそう思う。
元質問をしたPythonでの三項演算の表記を知らないレベルの人は
x * [-1, 1][hoge]やx * (hoge or -1) を嬉々として・どや顔して
使いそうだが
687デフォルトの名無しさん
2020/02/15(土) 22:40:28.65ID:cl/r4jK1 [-1, 1][hoge]は0,1以外弾くから結構間違いが入り込みにくい実装なんだけどね。
まぁ、普通は三項演算子使うだろうな。
まぁ、普通は三項演算子使うだろうな。
688デフォルトの名無しさん
2020/02/15(土) 23:35:32.08ID:GcRD3KfQ 質問ですが
def内で使う変数名を考えるのが面倒だし
後でどれがどれか分かるように
引数と同じ変数名にしてますが
問題ないですか???
グローバル変数はほぼ使ってないです。
def内で使う変数名を考えるのが面倒だし
後でどれがどれか分かるように
引数と同じ変数名にしてますが
問題ないですか???
グローバル変数はほぼ使ってないです。
689デフォルトの名無しさん
2020/02/15(土) 23:49:52.90ID:robjZmR7 def addnumbers(a, b):
return a+b
a=10
b=5
print(addnumbers(a, b))
みたいな話?
なら別に問題はないけど。
引数じゃなくて関数内で宣言するローカル変数の話なら、頭に_をつけたりして外の環境をマスクしないようにしたほうがお行儀がいいけど。
return a+b
a=10
b=5
print(addnumbers(a, b))
みたいな話?
なら別に問題はないけど。
引数じゃなくて関数内で宣言するローカル変数の話なら、頭に_をつけたりして外の環境をマスクしないようにしたほうがお行儀がいいけど。
690デフォルトの名無しさん
2020/02/16(日) 00:44:18.75ID:S0ZkinLG691デフォルトの名無しさん
2020/02/16(日) 02:28:25.33ID:Q6srCXr2692デフォルトの名無しさん
2020/02/16(日) 09:01:43.73ID:17VZ7Cpd693デフォルトの名無しさん
2020/02/16(日) 09:35:32.63ID:xJ91WGrf 名前を考える時間がもったいない
スクリプト言語はいかに早く作り早く動かすかが命
一度動けば後は野となれ山となれ
スクリプト言語はいかに早く作り早く動かすかが命
一度動けば後は野となれ山となれ
694デフォルトの名無しさん
2020/02/16(日) 10:19:55.17ID:1yJgvEz2 どうしても名前を考えるのがめんどくさいならば
注釈で変数の意味を書いておくという方法もある
典型的な変数の値も書いておくとなおよい
注釈で変数の意味を書いておくという方法もある
典型的な変数の値も書いておくとなおよい
695デフォルトの名無しさん
2020/02/16(日) 10:26:00.98ID:6foDUZHe 関数の分割と命名が適切ならローカル変数なんて全部一文字でいいよ
そんなことで読めなくなるような長い関数を書くな
そんなことで読めなくなるような長い関数を書くな
696デフォルトの名無しさん
2020/02/16(日) 11:27:23.03ID:17VZ7Cpd697デフォルトの名無しさん
2020/02/16(日) 11:28:24.01ID:17VZ7Cpd698デフォルトの名無しさん
2020/02/16(日) 11:33:53.98ID:vdOGaRiC Goはむしろ一文字変数と引数を推奨してるね
コードが十分に構造化されていれば、長い変数名はノイズになって逆に読みにくいってのは一理ある
コードが十分に構造化されていれば、長い変数名はノイズになって逆に読みにくいってのは一理ある
699デフォルトの名無しさん
2020/02/16(日) 12:08:56.63ID:KXHJAKTO bad know howの固まりのようなスレだな
700デフォルトの名無しさん
2020/02/16(日) 12:24:10.94ID:5YcuBhUR 689だけど無次元数を扱う場合はa,bとかm,nとかを使うな
ファイルディスクリプタならfd
ループインデックスはi,j,kとかix,iy
それ以外は英単語2〜3個を繋いで変数名にして
PandasのDataFrameやNumpy Arrayみたいに実質型のないものはアプリケーションハンガリアン
ローカル変数だと頭にアンダースコアをつける感じだな
ファイルディスクリプタならfd
ループインデックスはi,j,kとかix,iy
それ以外は英単語2〜3個を繋いで変数名にして
PandasのDataFrameやNumpy Arrayみたいに実質型のないものはアプリケーションハンガリアン
ローカル変数だと頭にアンダースコアをつける感じだな
701デフォルトの名無しさん
2020/02/16(日) 12:26:02.52ID:uPTaqoVN 雑魚はせめてリーダブルコードでも読んでからコメントして
702デフォルトの名無しさん
2020/02/16(日) 12:37:40.11ID:KXHJAKTO >>701
それな
それな
703デフォルトの名無しさん
2020/02/16(日) 13:00:47.06ID:17VZ7Cpd 「最善の名前とは読み手が誤解を招かないこと」って書いてないか?
704688
2020/02/16(日) 13:04:49.24ID:S0ZkinLG ローカル変数名ですけど
例えば名古屋から広島の距離を計算するとして
def kyori(nagoya,hirosima)
___length = nagoya-hirosima
___return length
#東京からの距離
tokyo = 0
nagoya = 350
kyoto = 457
hirosima = 768
length = kyori()
っていう感じですけど
意味があって分かり易いだと
一文字だと長さはまだlで分かり易いと思うんですが
defが増えていくったときに
それぞれのdef内でもまだ個性的な名前を付けた方がいいのですか???
length_kyoto_hirosimaとか???
例えば名古屋から広島の距離を計算するとして
def kyori(nagoya,hirosima)
___length = nagoya-hirosima
___return length
#東京からの距離
tokyo = 0
nagoya = 350
kyoto = 457
hirosima = 768
length = kyori()
っていう感じですけど
意味があって分かり易いだと
一文字だと長さはまだlで分かり易いと思うんですが
defが増えていくったときに
それぞれのdef内でもまだ個性的な名前を付けた方がいいのですか???
length_kyoto_hirosimaとか???
705デフォルトの名無しさん
2020/02/16(日) 13:13:22.41ID:xJ91WGrf706デフォルトの名無しさん
2020/02/16(日) 13:19:18.43ID:vdOGaRiC >>704
まあ気持ちはわからないでもないが、慣れてくるとそのへんは問題にならなくなるから現時点でそんなに気にしなくていい
はっきり言って、同じものを多数の関数に引き回していること自体がヘタクソ
それを回避する方法は「こうすればいい」と教科書的に言えるものではなく設計センスの問題で、君にも自然にわかってくる
まあ気持ちはわからないでもないが、慣れてくるとそのへんは問題にならなくなるから現時点でそんなに気にしなくていい
はっきり言って、同じものを多数の関数に引き回していること自体がヘタクソ
それを回避する方法は「こうすればいい」と教科書的に言えるものではなく設計センスの問題で、君にも自然にわかってくる
707デフォルトの名無しさん
2020/02/16(日) 13:24:20.27ID:17VZ7Cpd >>704
そのdefのはっそうは、正直よろしくないとおもう。
使いまわせないだろw
def kyori(from, to):
にすれば、使いまわせるだろw
でもって、
引数のあとの「:」を忘れるな
+
(PEPにも書かれてるらしいが)
1ミクロンでも他人に見せる予定があるコードならば、
「kyori」はやめて、和英辞書を引いて、distanceをチョイス。
さらにいえば、
距離を計算する函数なのだから
「def calc_distance」みたいな名前にしよう。
そのdefのはっそうは、正直よろしくないとおもう。
使いまわせないだろw
def kyori(from, to):
にすれば、使いまわせるだろw
でもって、
引数のあとの「:」を忘れるな
+
(PEPにも書かれてるらしいが)
1ミクロンでも他人に見せる予定があるコードならば、
「kyori」はやめて、和英辞書を引いて、distanceをチョイス。
さらにいえば、
距離を計算する函数なのだから
「def calc_distance」みたいな名前にしよう。
708デフォルトの名無しさん
2020/02/16(日) 13:26:21.56ID:17VZ7Cpd709デフォルトの名無しさん
2020/02/16(日) 14:30:21.73ID:iNVxJNOu 関数定義や関数のことを`def`って呼ぶのちょっとモヤるんだけど一般的なのかな?
>defが増えていくったときに
>それぞれのdef内でも
>そのdefのはっそうは、正直よろしくないとおもう。
>defが増えていくったときに
>それぞれのdef内でも
>そのdefのはっそうは、正直よろしくないとおもう。
710デフォルトの名無しさん
2020/02/16(日) 14:33:43.62ID:E60C1LrQ namedtuppleのクラス継承って3.5.3じゃ無理なのですか?
無理ならバージョン何からできます?
無理ならバージョン何からできます?
711デフォルトの名無しさん
2020/02/16(日) 14:46:40.85ID:Rlzwkt+8712デフォルトの名無しさん
2020/02/16(日) 15:03:54.06ID:17VZ7Cpd713デフォルトの名無しさん
2020/02/16(日) 15:08:15.16ID:17VZ7Cpd714688
2020/02/16(日) 16:38:20.27ID:S0ZkinLG715デフォルトの名無しさん
2020/02/16(日) 16:53:49.03ID:17VZ7Cpd >>714
> ほぼほぼ作ったのが後々改造できなくて
> 投げ捨てるはめになってる
www
わかるwwwww始めたばっかりの頃のあるあるwwwwwわかるwwwww
オライリーの
リーダブルコード
ISBN-10: 4873115655
ISBN-13: 978-4873115658
(あるいは
ビューティフルコード
ISBN-10: 4873113636
ISBN-13: 978-4873113630 )
を
買って読んでみたらー
中古でも安くなってないだけのことはあるでよー
> ほぼほぼ作ったのが後々改造できなくて
> 投げ捨てるはめになってる
www
わかるwwwww始めたばっかりの頃のあるあるwwwwwわかるwwwww
オライリーの
リーダブルコード
ISBN-10: 4873115655
ISBN-13: 978-4873115658
(あるいは
ビューティフルコード
ISBN-10: 4873113636
ISBN-13: 978-4873113630 )
を
買って読んでみたらー
中古でも安くなってないだけのことはあるでよー
716デフォルトの名無しさん
2020/02/16(日) 17:07:16.29ID:05WBirzM オブジェクトがコピーなのか現物なのか、調べるにはどうすればよいですか。または全て現物で渡すには?
1. クラスの初期化時に引数として渡してselfに格納
2.クラスのgetterメソッド返り値としてselfの値を返却する
3.手順2で得られた値を演算したものをクラスのsetterメソッド引数として渡してselfに再格納
1〜3まで全て現物でいてほしいのですが、どこかでコピーになってしまうようで同期しません。
1. クラスの初期化時に引数として渡してselfに格納
2.クラスのgetterメソッド返り値としてselfの値を返却する
3.手順2で得られた値を演算したものをクラスのsetterメソッド引数として渡してselfに再格納
1〜3まで全て現物でいてほしいのですが、どこかでコピーになってしまうようで同期しません。
717デフォルトの名無しさん
2020/02/16(日) 17:11:30.05ID:05WBirzM 716、自分でも分かりにくいので追記です、
e = 1
a = Class1(e)
b = Class2(e)
tmp = a.getE()
tmp += 1
a.setE(tmp)
b.print()
このprintの結果が、2となって欲しいのです。
e = 1
a = Class1(e)
b = Class2(e)
tmp = a.getE()
tmp += 1
a.setE(tmp)
b.print()
このprintの結果が、2となって欲しいのです。
718デフォルトの名無しさん
2020/02/16(日) 17:18:43.25ID:17VZ7Cpd719デフォルトの名無しさん
2020/02/16(日) 17:44:48.94ID:05WBirzM >>718
ありがとうございます。
原因わかりました。
716で書いてるeが実際はイミュータブルだったので、書き換える際にreplace呼んでid変わってたみたいです。
eを自作クラスに変えたら動きました。ありがとう
ありがとうございます。
原因わかりました。
716で書いてるeが実際はイミュータブルだったので、書き換える際にreplace呼んでid変わってたみたいです。
eを自作クラスに変えたら動きました。ありがとう
720デフォルトの名無しさん
2020/02/16(日) 19:45:43.91ID:w90VPIvZ リーダブルコードでググったら英語版はタダで見れるのか
苦Cみたいなもんか?
苦Cみたいなもんか?
721688
2020/02/16(日) 19:51:59.66ID:S0ZkinLG722デフォルトの名無しさん
2020/02/16(日) 20:00:33.27ID:S0ZkinLG このクラスの########から########の間を
書き換えて別の子クラスを作る方法を教えてもらえませんか?
リターンはなくて条件によってどんどんpを書き換えていく感じの内容です
class coner:
__def __init__(self):
____self.angle = 0.0
____self.width = 0.0
#以下self.が沢山
__def tijimi(self):
#####################################
____if 0 <= self.angle < math.pi/3:
______#計算式色々
______p = l
____if self.angle == 0 :
______#計算式色々
______p=l
____#以下ifでangleを調べてpを上書きしていくif分沢山
#####################################################
____if self.width == 50:
______#計算式色々
______p=l
____if self.width == 80:
______#計算式色々
______p=l
書き換えて別の子クラスを作る方法を教えてもらえませんか?
リターンはなくて条件によってどんどんpを書き換えていく感じの内容です
class coner:
__def __init__(self):
____self.angle = 0.0
____self.width = 0.0
#以下self.が沢山
__def tijimi(self):
#####################################
____if 0 <= self.angle < math.pi/3:
______#計算式色々
______p = l
____if self.angle == 0 :
______#計算式色々
______p=l
____#以下ifでangleを調べてpを上書きしていくif分沢山
#####################################################
____if self.width == 50:
______#計算式色々
______p=l
____if self.width == 80:
______#計算式色々
______p=l
723デフォルトの名無しさん
2020/02/16(日) 20:56:22.89ID:05WBirzM class tijimi(coner)作ってsuperのinit呼んだ後にif文羅列じゃ駄目なの?
724デフォルトの名無しさん
2020/02/16(日) 21:14:42.57ID:iNVxJNOu >>722
>書き換えて別の子クラスを作る方法
継承してオーバーライドすること言ってるのかな?
それと
条件によってpをどんどん書き換えていくような仕様は
一般的にはものすごく悪い設計
バグりやすいしテストもしにくいので避けたほうがいい
>書き換えて別の子クラスを作る方法
継承してオーバーライドすること言ってるのかな?
それと
条件によってpをどんどん書き換えていくような仕様は
一般的にはものすごく悪い設計
バグりやすいしテストもしにくいので避けたほうがいい
725デフォルトの名無しさん
2020/02/16(日) 21:47:49.06ID:17VZ7Cpd726722
2020/02/16(日) 22:05:37.52ID:S0ZkinLG727デフォルトの名無しさん
2020/02/16(日) 22:59:10.36ID:5EL9p8ON Ruby なら、B はA から派生したクラスで、
派生クラスで、親クラスの同名のメソッドを上書きする(override)。
@ はインスタンス変数
class A
def f( ) @x = 1 end
end
class B < A
def f( ) @x = 2 end
end
p A.new.f #=> 1
p B.new.f #=> 2
派生クラスで、親クラスの同名のメソッドを上書きする(override)。
@ はインスタンス変数
class A
def f( ) @x = 1 end
end
class B < A
def f( ) @x = 2 end
end
p A.new.f #=> 1
p B.new.f #=> 2
728デフォルトの名無しさん
2020/02/17(月) 00:33:34.29ID:VGvKWI+b リーダブルコードもコードコンプリートも読んだ上で700書いてるけどねえ
PEP8とかもそうだけど、知恵とルールを混同してしまう人が結構いる
PEP8とかもそうだけど、知恵とルールを混同してしまう人が結構いる
729デフォルトの名無しさん
2020/02/17(月) 02:53:30.28ID:DyKTwZyk お前にはその両方が足りていない
730デフォルトの名無しさん
2020/02/17(月) 05:56:39.51ID:9Byn+CCQ アンカも打てないのかよ
いちいち自分で辿らせるとかどんだけ構って欲しいんだ
いちいち自分で辿らせるとかどんだけ構って欲しいんだ
731デフォルトの名無しさん
2020/02/17(月) 07:12:48.06ID:a4xzah5x >>727
endとか90年代かよダッサ無駄な記述乙
endとか90年代かよダッサ無駄な記述乙
732デフォルトの名無しさん
2020/02/17(月) 07:47:39.40ID:wxeqwMT5 裏表紙のない本
ドアのないトイレ
キャップのないペットボトル
ドアのないトイレ
キャップのないペットボトル
733デフォルトの名無しさん
2020/02/17(月) 11:57:31.26ID:xV6ZEvHF Macなんですが元々入ってるPython2系をpython2で呼び出して
Python3系をpythonコマンドで呼び出す方法ってありませんか?
alias python="python3"
を設定してもpython2が使えなくなる代替案を探してる最中です
Python3系をpythonコマンドで呼び出す方法ってありませんか?
alias python="python3"
を設定してもpython2が使えなくなる代替案を探してる最中です
734デフォルトの名無しさん
2020/02/17(月) 12:37:38.00ID:m/x7HUx7 >>729
読んであれならヤバイ級だよなあ
読んであれならヤバイ級だよなあ
735デフォルトの名無しさん
2020/02/17(月) 12:38:09.76ID:m/x7HUx7 エイリアスにフルパス入れちまえよ
736デフォルトの名無しさん
2020/02/17(月) 12:53:44.11ID:xV6ZEvHF737デフォルトの名無しさん
2020/02/17(月) 13:05:59.25ID:sUzH4s3p >>731
トイレを使って水を流さない犯人を見つけた
トイレを使って水を流さない犯人を見つけた
738デフォルトの名無しさん
2020/02/17(月) 13:31:47.59ID:y136Nw0W >>733
pipだったり他のプログラムが使ってるpythonの依存ぶっ壊れるようなやり方すぎる。
dockeで隔離するか、pyenv, anaconda 使うなりする方が問題起きたときに復帰しやすいと思われる。
pipだったり他のプログラムが使ってるpythonの依存ぶっ壊れるようなやり方すぎる。
dockeで隔離するか、pyenv, anaconda 使うなりする方が問題起きたときに復帰しやすいと思われる。
739デフォルトの名無しさん
2020/02/17(月) 15:10:44.14ID:wzCOK5rA >>733
ln -s /usr/bin/python /usr/local/bin/python2
ln -s /usr/local/bin/python3 /usr/local/bin/python
ln -s /usr/bin/python /usr/local/bin/python2
ln -s /usr/local/bin/python3 /usr/local/bin/python
740デフォルトの名無しさん
2020/02/17(月) 15:56:50.96ID:y136Nw0W 完全に環境ぶっ壊しにかかってんな。。カスだな。
741デフォルトの名無しさん
2020/02/17(月) 17:29:32.07ID:91EB+qlc >>737
Rubyはスレチだから
Rubyはスレチだから
742デフォルトの名無しさん
2020/02/17(月) 19:14:02.33ID:A9t7x7q2 デフォルトの設定を変えたら、それを使っている無数のアプリがバグルw
OS の仕組みを学べ!
OS の仕組みを学べ!
743デフォルトの名無しさん
2020/02/17(月) 20:02:52.96ID:4yysNtzR 呼ぶときはPython2ならpythonで、Python3はpyで呼べるようになってるだろ
方針としてpythonで呼ばれるのはPython2のままにするっていうのがあるし
方針としてpythonで呼ばれるのはPython2のままにするっていうのがあるし
744デフォルトの名無しさん
2020/02/17(月) 20:03:49.54ID:4njBz49B $ pip3 --version
bash: /home/xxx/.local/bin/pip3: そのようなファイルやディレクトリはありません
$ which pip3
/usr/bin/pip3
以下のページ通りにやったら直った
パッケージ更新インストール後にコマンドが実行できない場合の対処
https://qiita.com/vmmhypervisor/items/e846338b204061040957
bash: /home/xxx/.local/bin/pip3: そのようなファイルやディレクトリはありません
$ which pip3
/usr/bin/pip3
以下のページ通りにやったら直った
パッケージ更新インストール後にコマンドが実行できない場合の対処
https://qiita.com/vmmhypervisor/items/e846338b204061040957
745デフォルトの名無しさん
2020/02/17(月) 21:27:41.44ID:EJ6dkZYZ Python記事まとめ(毎日自動更新)
https://qiita.com/kamata1729/items/eaf1d7b945b3a61a4fdd
Qiita週間ストック数ランキング【自動更新】
https://qiita.com/kai_kou/items/180a91fd88dbbbd746f6
https://qiita.com/kamata1729/items/eaf1d7b945b3a61a4fdd
Qiita週間ストック数ランキング【自動更新】
https://qiita.com/kai_kou/items/180a91fd88dbbbd746f6
746デフォルトの名無しさん
2020/02/18(火) 00:00:11.54ID:o6M8r8f5 import numpy as np
a = np.array([1,2,3])
print(a.shape)
こうやると、
(3,)
と表示されますけど
この3の後ろにあるカンマは
どゆ意味なんでしょう?
不必要としか思えないのですが?
a = np.array([1,2,3])
print(a.shape)
こうやると、
(3,)
と表示されますけど
この3の後ろにあるカンマは
どゆ意味なんでしょう?
不必要としか思えないのですが?
747デフォルトの名無しさん
2020/02/18(火) 00:10:14.62ID:ObTpNy6/ tuple
同じ型が返されることに意味がある
(3,)と(3)で型を比べてみればいい
同じ型が返されることに意味がある
(3,)と(3)で型を比べてみればいい
748デフォルトの名無しさん
2020/02/18(火) 00:17:31.22ID:o6M8r8f5749デフォルトの名無しさん
2020/02/18(火) 13:43:57.54ID:ZbgU3Gim 全然違うω
750デフォルトの名無しさん
2020/02/18(火) 13:54:29.04ID:2AC9Ct1n >np.arrayのshapeをtuple型の同じ型にする、
>ということですね?
日本語がおかしい、もしくは理解の仕方がおかしい。
「np.array の shape を print で確認したら、tuple 型で (3,) だった。」
くらいは書いてほしい。
>ということですね?
日本語がおかしい、もしくは理解の仕方がおかしい。
「np.array の shape を print で確認したら、tuple 型で (3,) だった。」
くらいは書いてほしい。
751デフォルトの名無しさん
2020/02/18(火) 17:44:44.88ID:NpZig/vi752デフォルトの名無しさん
2020/02/18(火) 20:55:10.51ID:EFQS+VhN 新しいノートパソコン買ったけど使ってるやつpipして入れていくの面倒だな
753デフォルトの名無しさん
2020/02/18(火) 22:11:49.35ID:kXXzWqPh754デフォルトの名無しさん
2020/02/18(火) 22:25:08.60ID:Sq+szhyd755デフォルトの名無しさん
2020/02/18(火) 22:27:06.73ID:I7Q3zK/c あーそういやエクセルにpip一覧作ってコピペって入れてたな
あれバッチにすればよかったのか!
あれバッチにすればよかったのか!
756デフォルトの名無しさん
2020/02/19(水) 00:22:18.64ID:67Zh1tMt >>753で書いてた過去のレスの、要約したったど
てきとうな階層でコマンドプロンプト起動して
pip freeze > requirements.txt
できたtxtを次のPCの
これまたてきとうな階層に入れ、
そこからコマンドプロンプト起動して
pip install -r requirements.txt
てきとうな階層でコマンドプロンプト起動して
pip freeze > requirements.txt
できたtxtを次のPCの
これまたてきとうな階層に入れ、
そこからコマンドプロンプト起動して
pip install -r requirements.txt
757デフォルトの名無しさん
2020/02/19(水) 11:51:55.61ID:cGULNOoW そしてcondaに感染
758デフォルトの名無しさん
2020/02/19(水) 18:42:16.77ID:DTFko2h2 このコードについて質問です
https://github.com/TestStudio/usbmuxd/blob/master/python-client/usbmux.py
class MuxError(Exception):
pass
raise MuxError("socket connection broken")
みたいな書き方がされていますが、なぜ何もしない(passだけする)クラスを作って使用しているのでしょうか?
https://github.com/TestStudio/usbmuxd/blob/master/python-client/usbmux.py
class MuxError(Exception):
pass
raise MuxError("socket connection broken")
みたいな書き方がされていますが、なぜ何もしない(passだけする)クラスを作って使用しているのでしょうか?
759デフォルトの名無しさん
2020/02/19(水) 18:45:07.19ID:RE1Trb9N raiseだからじゃない
760デフォルトの名無しさん
2020/02/19(水) 19:01:50.35ID:Um90NQYB Ruby なら、StandardError を継承して、カスタム例外クラスを作るだけ!
class MyError < StandardError
def initialize( msg="引数なし" )
super
end
end
raise MyError #=> 引数なし (MyError)
raise MyError, "引数あり" #=> 引数あり (MyError)
class MyError < StandardError
def initialize( msg="引数なし" )
super
end
end
raise MyError #=> 引数なし (MyError)
raise MyError, "引数あり" #=> 引数あり (MyError)
761デフォルトの名無しさん
2020/02/19(水) 19:32:54.08ID:TvNfUAFk Exceptionを継承してるのだから何もしてないわけではない
既存の例外クラスをそのまま使わず新たな例外クラスを作ればexcept節で場合分けしやすくなる
既存の例外クラスをそのまま使わず新たな例外クラスを作ればexcept節で場合分けしやすくなる
762デフォルトの名無しさん
2020/02/19(水) 23:14:11.07ID:DTFko2h2 >>761
ありがとうございます
ありがとうございます
763デフォルトの名無しさん
2020/02/19(水) 23:17:38.46ID:DTFko2h2 質問が大雑把すぎて答えてもらえない気がするんですが…
>>758に関してダメ元で聞きたいです。
>>758のコードをPython3.7で実行するとこんな感じのエラーが出るのですが何をどうしたら直せますか…?
いくつもエラーが出ているんですが、1つだけでも良いので…教えてもらえると嬉しいです…。
どのエラーも直し方がわからないです。。
Traceback (most recent call last):
File "C:\Users\username\Desktop\test.py", line 238, in <module>
mux = USBMux()
File "C:\Users\username\Desktop\test.py", line 222, in __init__
self.listener.listen()
File "C:\Users\username\Desktop\test.py", line 191, in listen
ret = self._exchange(self.proto.TYPE_LISTEN)
File "C:\Users\username\Desktop\test.py", line 184, in _exchange
self.proto.sendpacket(req, mytag, payload)
File "C:\Users\username\Desktop\test.py", line 101, in sendpacket
data = struct.pack("IIII", length, self.VERSION, req, tag) + payload
TypeError: can't concat str to bytes
>>758に関してダメ元で聞きたいです。
>>758のコードをPython3.7で実行するとこんな感じのエラーが出るのですが何をどうしたら直せますか…?
いくつもエラーが出ているんですが、1つだけでも良いので…教えてもらえると嬉しいです…。
どのエラーも直し方がわからないです。。
Traceback (most recent call last):
File "C:\Users\username\Desktop\test.py", line 238, in <module>
mux = USBMux()
File "C:\Users\username\Desktop\test.py", line 222, in __init__
self.listener.listen()
File "C:\Users\username\Desktop\test.py", line 191, in listen
ret = self._exchange(self.proto.TYPE_LISTEN)
File "C:\Users\username\Desktop\test.py", line 184, in _exchange
self.proto.sendpacket(req, mytag, payload)
File "C:\Users\username\Desktop\test.py", line 101, in sendpacket
data = struct.pack("IIII", length, self.VERSION, req, tag) + payload
TypeError: can't concat str to bytes
764デフォルトの名無しさん
2020/02/19(水) 23:53:08.56ID:GM7mImOk >>763
いくつもエラーが出てるんじゃなくて
エラー内容と呼び出し履歴が表示されてるだけ
101行目ので
「TypeError: can't concat str to bytes」ってエラーが発生してる
python2用のコード
いくつもエラーが出てるんじゃなくて
エラー内容と呼び出し履歴が表示されてるだけ
101行目ので
「TypeError: can't concat str to bytes」ってエラーが発生してる
python2用のコード
765デフォルトの名無しさん
2020/02/20(木) 00:05:49.70ID:rl2y9G0y よく見たら11年以上前のコードやん
個人的にどういう経緯で辿り着いたのか気になる
個人的にどういう経緯で辿り着いたのか気になる
766デフォルトの名無しさん
2020/02/20(木) 00:35:27.77ID:x93hW6cn767デフォルトの名無しさん
2020/02/20(木) 12:40:33.14ID:sbHTvmgo 不潔ゾーンからお帰りください
768デフォルトの名無しさん
2020/02/21(金) 16:02:46.88ID:x3GQj6xQ インスタンス変数についての質問です
他言語(c/c++/c#)から入った人間の例に漏れずself/clsって何なの…となりました
で色々見ているのですが1番大きな疑問はインスタンス変数です
サンプル見ると大体コンストラクタでself.x=とかやってますがこのxはどこで定義されているのですか?
仮にこれが定義としてもコンストラクタや関数内部で定義したものがスコープ外でつかえるのは妙です
それに関数で新しく定義出来てしまうならインスタンシエイト時にそのオブジェクトがどのようなメンバを持つのかの情報が欠落していることになります
この辺りの解説を探しても見つけられませんでした
ご教授頂ければ幸いです
他言語(c/c++/c#)から入った人間の例に漏れずself/clsって何なの…となりました
で色々見ているのですが1番大きな疑問はインスタンス変数です
サンプル見ると大体コンストラクタでself.x=とかやってますがこのxはどこで定義されているのですか?
仮にこれが定義としてもコンストラクタや関数内部で定義したものがスコープ外でつかえるのは妙です
それに関数で新しく定義出来てしまうならインスタンシエイト時にそのオブジェクトがどのようなメンバを持つのかの情報が欠落していることになります
この辺りの解説を探しても見つけられませんでした
ご教授頂ければ幸いです
769デフォルトの名無しさん
2020/02/21(金) 16:35:03.06ID:AkYRUnXu コンストラクタでself.x=とやればそこで定義される
770デフォルトの名無しさん
2020/02/21(金) 16:35:43.13ID:RiyafmFC >>768
>インスタンシエイト時にそのオブジェクトがどのようなメンバを持つのかの情報が欠落していることになります
オブジェクトがどういうメンバを持つかは静的じゃなく動的
インスタンス化後にインスタンス変数やメソッドを追加できる
クラスはディクショナリみたいなものだと思っておけばいいよ
https://ideone.com/aAGA0y
>仮にこれが定義としてもコンストラクタや関数内部で定義したものがスコープ外でつかえるのは妙です
メソッドの第1引数にレシーバのオブジェクトが渡されるので
それを`self`という名前の引数で受けてメソッド内では渡されたレシーバを使って
`self.x`とかでインスタンス変数を参照してるのでスコープ外ではない
ちなみにselfは慣習として使われてる変数名であってhogeとかに変えても問題なく動く
>インスタンシエイト時にそのオブジェクトがどのようなメンバを持つのかの情報が欠落していることになります
オブジェクトがどういうメンバを持つかは静的じゃなく動的
インスタンス化後にインスタンス変数やメソッドを追加できる
クラスはディクショナリみたいなものだと思っておけばいいよ
https://ideone.com/aAGA0y
>仮にこれが定義としてもコンストラクタや関数内部で定義したものがスコープ外でつかえるのは妙です
メソッドの第1引数にレシーバのオブジェクトが渡されるので
それを`self`という名前の引数で受けてメソッド内では渡されたレシーバを使って
`self.x`とかでインスタンス変数を参照してるのでスコープ外ではない
ちなみにselfは慣習として使われてる変数名であってhogeとかに変えても問題なく動く
771デフォルトの名無しさん
2020/02/21(金) 16:35:53.10ID:AkYRUnXu あとCの経験があるならPyObjectについて調べたら理解が進むはず
772デフォルトの名無しさん
2020/02/21(金) 17:12:06.44ID:QP8p1GF2 仮想通貨のbotを作りたいんだけど、
AWSのCloud9で、
pythonのプログラムかいて動かす場合、
ブラウザー閉じたり、PCの電源切ったりしても、
プログラムはずっと動くの?
AWSのCloud9で、
pythonのプログラムかいて動かす場合、
ブラウザー閉じたり、PCの電源切ったりしても、
プログラムはずっと動くの?
773デフォルトの名無しさん
2020/02/21(金) 17:31:14.15ID:2TMdipPT >>768
Ruby では、デフォルトでインスタンス変数は、private だから、
アクセサー(attr_accessor)で宣言しないと、クラス外部からアクセスできない
class A
attr_accessor :x
def initialize
@x = 1
end
end
p A.new.x #=> 1
Ruby では、デフォルトでインスタンス変数は、private だから、
アクセサー(attr_accessor)で宣言しないと、クラス外部からアクセスできない
class A
attr_accessor :x
def initialize
@x = 1
end
end
p A.new.x #=> 1
774デフォルトの名無しさん
2020/02/21(金) 17:33:36.85ID:2TMdipPT 仮想通貨は、Solidity だろ
775デフォルトの名無しさん
2020/02/21(金) 20:23:10.91ID:/Xk0nwt/ >>772
そのように組めばそのように動く
そのように組めばそのように動く
776デフォルトの名無しさん
2020/02/21(金) 20:31:58.13ID:QP8p1GF2777デフォルトの名無しさん
2020/02/21(金) 21:03:51.99ID:/Xk0nwt/ >クラウドなら停止しないで安心
ヒソ( ´д)ヒソ(´д`)ヒソ(д` )ヒソ
ヒソ( ´д)ヒソ(´д`)ヒソ(д` )ヒソ
778デフォルトの名無しさん
2020/02/21(金) 21:52:48.61ID:g+Ne8Q54 >>776
そのレベルなら停電の心配するより自分のプログラムのバグで損失出す可能性の方がはるかに高いだろう。
そのレベルなら停電の心配するより自分のプログラムのバグで損失出す可能性の方がはるかに高いだろう。
779772
2020/02/21(金) 23:27:12.20ID:QP8p1GF2 Cloud9にPyCarmで書いてたプログラムを移して、
AWSで動かしてみました、
ブラウザー閉じても、無事に自動で動いてるみたい、
もう、20円くらい稼げた、
これで、寝ているだけで朝起きたらお金が増えてるかな、
AWSは750時間分無料で使えるみたいなので、
しばらくこのまま動かしてみます。
AWSで動かしてみました、
ブラウザー閉じても、無事に自動で動いてるみたい、
もう、20円くらい稼げた、
これで、寝ているだけで朝起きたらお金が増えてるかな、
AWSは750時間分無料で使えるみたいなので、
しばらくこのまま動かしてみます。
780デフォルトの名無しさん
2020/02/22(土) 00:10:39.94ID:pQxmP5Jc 朝起きたらバンされてるから
781デフォルトの名無しさん
2020/02/22(土) 02:14:03.09ID:R+gSedzt ◎バグで損失
〇アルゴリズムがクソで損失
△利用料の請求でしぬ
〇アルゴリズムがクソで損失
△利用料の請求でしぬ
782デフォルトの名無しさん
2020/02/22(土) 08:40:23.32ID:6wlvfoPI >>770
参考になりました
https://stackoverflow.com/questions/12569018/why-is-adding-attributes-to-an-already-instantiated-object-allowed
検索して見つけたんですがここでもクラスはディクショナリの糖衣構文なんて書いてますね
いやしかしそうすると同じ型のオブジェクトなのにその後の操作によって違うメンバを持ってたりするわけですか
えぇ……型適当すぎませんかpython……
selfに関しては自分自身を参照型なりポインタなりで関数内に渡していじくってると考えればいいんですかね
なぜthisにしない……そして自分自身が変化しないインスタンスメソッドでselfなんで書かねばならんのだ……
参考になりました
https://stackoverflow.com/questions/12569018/why-is-adding-attributes-to-an-already-instantiated-object-allowed
検索して見つけたんですがここでもクラスはディクショナリの糖衣構文なんて書いてますね
いやしかしそうすると同じ型のオブジェクトなのにその後の操作によって違うメンバを持ってたりするわけですか
えぇ……型適当すぎませんかpython……
selfに関しては自分自身を参照型なりポインタなりで関数内に渡していじくってると考えればいいんですかね
なぜthisにしない……そして自分自身が変化しないインスタンスメソッドでselfなんで書かねばならんのだ……
783デフォルトの名無しさん
2020/02/22(土) 09:16:04.11ID:/f58S0oT >>782
言語が異なれば用語や概念は異なるのだから、自分の母国語に無理に当てはめて考えようとすると行き詰まるぞ。それぞれの言語で意図やポリシーがあってその言語の仕様が作られているのだから、違う考えに基づくものだとして違いを受け入れ、理解しようとしてみなよ。
言語が異なれば用語や概念は異なるのだから、自分の母国語に無理に当てはめて考えようとすると行き詰まるぞ。それぞれの言語で意図やポリシーがあってその言語の仕様が作られているのだから、違う考えに基づくものだとして違いを受け入れ、理解しようとしてみなよ。
784772
2020/02/22(土) 09:50:55.45ID:ltYpm+bh 動かしたまま寝て朝見たら、
無事に動き続けてました、
45円くらい利益出たから、
半日もしないのに資金の1.2%程増えた、
ほんとに、寝ているだけで朝起きたらお金が増えてるw
クラウド便利ですね、ありがとうございます。
無事に動き続けてました、
45円くらい利益出たから、
半日もしないのに資金の1.2%程増えた、
ほんとに、寝ているだけで朝起きたらお金が増えてるw
クラウド便利ですね、ありがとうございます。
785デフォルトの名無しさん
2020/02/22(土) 10:10:20.27ID:hsz3eTB9786デフォルトの名無しさん
2020/02/22(土) 12:14:02.69ID:4QVNajON >>782
selfに関してはC++やっている奴なら、非明示でC++のメンバ関数にもPythonのself
のようなもの(this ポンタ)が渡されると知っているんじゃないのか?
http://www7b.biglobe.ne.jp/~robe/cpphtml/html03/cpp03057.html
>メンバ関数には this ポンタが隠し引数として渡されるので、普通の関数と同じようには扱えないのです
selfに関してはC++やっている奴なら、非明示でC++のメンバ関数にもPythonのself
のようなもの(this ポンタ)が渡されると知っているんじゃないのか?
http://www7b.biglobe.ne.jp/~robe/cpphtml/html03/cpp03057.html
>メンバ関数には this ポンタが隠し引数として渡されるので、普通の関数と同じようには扱えないのです
787デフォルトの名無しさん
2020/02/22(土) 13:22:04.84ID:WVugcdbO788デフォルトの名無しさん
2020/02/22(土) 13:45:22.33ID:qQaAG+8d レシーバーは、Ruby ではself、jQuery ではthis で、
どちらも引数で渡さないでも使えるように、実装で頑張った
Rubyのインスタンス変数には、@ を付ける。
@x = 1
Ruby のself は、文脈依存。
モジュール内で、クラスの外では、Module
module M
p self.class #=> Module
class C
p self.class #=> Class
end
end
M::C.new
どちらも引数で渡さないでも使えるように、実装で頑張った
Rubyのインスタンス変数には、@ を付ける。
@x = 1
Ruby のself は、文脈依存。
モジュール内で、クラスの外では、Module
module M
p self.class #=> Module
class C
p self.class #=> Class
end
end
M::C.new
789デフォルトの名無しさん
2020/02/22(土) 13:46:07.97ID:BwPLw7gM なぜthisにしない……って
そりゃCやC++で開発するんだから被るthisは回避するじゃん
C++で使ってないselfになるのは順当
Cで作る→C++に移行 との可能性はわずかながらあり
そりゃCやC++で開発するんだから被るthisは回避するじゃん
C++で使ってないselfになるのは順当
Cで作る→C++に移行 との可能性はわずかながらあり
790デフォルトの名無しさん
2020/02/22(土) 15:28:23.09ID:8UzPa+1r プログラム未経験のまったくのど素人です
以下のコードを実行しても何も起こりません
なぜか逆スラッシュが\になってしまい、それが原因でしょうか?
長いので二つにわけます
def hangman(word):
wrong = 0
stages = ["",
"_______ ",
"| ",
"| | ",
"| 0 ",
"| / | | ",
"| / | ",
"| "
]
rletters = list(word)
board = ["_"] * len(word)
win = False
print("ハングマンへようこそ !")
以下のコードを実行しても何も起こりません
なぜか逆スラッシュが\になってしまい、それが原因でしょうか?
長いので二つにわけます
def hangman(word):
wrong = 0
stages = ["",
"_______ ",
"| ",
"| | ",
"| 0 ",
"| / | | ",
"| / | ",
"| "
]
rletters = list(word)
board = ["_"] * len(word)
win = False
print("ハングマンへようこそ !")
791790
2020/02/22(土) 15:30:30.55ID:8UzPa+1r while wrong < len(stages) -1:
print("\n")
msg = "1文字を予測してね"
char = input(msg)
if char in rletters:
cind = rletters.index(char)
board[cind] = char
rletters[cind] = "$"
else:
wrong += 1
print(" ".join(board))
e = wrong + 1
print("\n".join(stages[0:e]))
if "_" not in board:
print("あなたの勝ち !")
print(" ".join(board))
win = true
break
如何でしょう?
print("\n")
msg = "1文字を予測してね"
char = input(msg)
if char in rletters:
cind = rletters.index(char)
board[cind] = char
rletters[cind] = "$"
else:
wrong += 1
print(" ".join(board))
e = wrong + 1
print("\n".join(stages[0:e]))
if "_" not in board:
print("あなたの勝ち !")
print(" ".join(board))
win = true
break
如何でしょう?
792デフォルトの名無しさん
2020/02/22(土) 15:40:17.92ID:2qBDSHyD 一方うbyはklassを使った
793デフォルトの名無しさん
2020/02/22(土) 15:57:31.91ID:/f58S0oT794デフォルトの名無しさん
2020/02/22(土) 16:10:09.30ID:mY130Jrs hangman関数を定義したけど呼び出してないからでは?
795デフォルトの名無しさん
2020/02/22(土) 16:18:17.21ID:nfgptzfk >>782
>えぇ……型適当すぎませんかpython……
Pythonに限らずJSやRubyなんかのOOをサポートしてる動的言語はだいたい同じ
クラスやオブジェクトのベースはディクショナリ
>そして自分自身が変化しないインスタンスメソッドでselfなんで書かねばならんのだ……
Cやシェルスクリプトと同じでレガシーな言語だからイケてない部分もたくさんある
そういうものだと思って受け止めるしかない
開発者が使いやすいように積極的に機能追加していくような言語ではないからね
Stackoverflowとか見てもわかるけど
Pythonコミュニティは割と言語機能に対するコンプレックス強いから
イケてないところ指摘すると逆ギレされやすいから気をつけて
>えぇ……型適当すぎませんかpython……
Pythonに限らずJSやRubyなんかのOOをサポートしてる動的言語はだいたい同じ
クラスやオブジェクトのベースはディクショナリ
>そして自分自身が変化しないインスタンスメソッドでselfなんで書かねばならんのだ……
Cやシェルスクリプトと同じでレガシーな言語だからイケてない部分もたくさんある
そういうものだと思って受け止めるしかない
開発者が使いやすいように積極的に機能追加していくような言語ではないからね
Stackoverflowとか見てもわかるけど
Pythonコミュニティは割と言語機能に対するコンプレックス強いから
イケてないところ指摘すると逆ギレされやすいから気をつけて
796デフォルトの名無しさん
2020/02/22(土) 16:38:39.72ID:qQaAG+8d798デフォルトの名無しさん
2020/02/22(土) 17:20:59.96ID:WVugcdbO >タブでは動かない
んなことない。
んなことない。
799796
2020/02/22(土) 17:36:28.82ID:qQaAG+8d スペースとタブが混在したからかな?
漏れは、動かなかったけど
漏れは、動かなかったけど
800デフォルトの名無しさん
2020/02/22(土) 18:24:55.47ID:R+gSedzt 近頃の3系は混在ダメ
801デフォルトの名無しさん
2020/02/22(土) 18:39:04.76ID:WVugcdbO 混在は別に問題ないぞ?linterで警告されるかもしれんが。
インデントに一貫性がない場合はエラーになる。
インデントに一貫性がない場合はエラーになる。
802デフォルトの名無しさん
2020/02/22(土) 18:42:52.13ID:lw7HhssO 言語機能に対するコンプレックスというか、
「○○の言語にある◽︎◽︎がないなんて…」と思うなら、
○○を使えばいいじゃん、としか思わないなあ。
日常的に7言語ぐらい使ってるし、経験としてはもう3言語ぐらい使えるけれど、
Pythonで書くとメリットがあるものしかPythonで書かないから、他の言語の構文がどうとかかなりどうでもいいな。
ブロックスコープがあるといいなと思うことはあるけど。
「○○の言語にある◽︎◽︎がないなんて…」と思うなら、
○○を使えばいいじゃん、としか思わないなあ。
日常的に7言語ぐらい使ってるし、経験としてはもう3言語ぐらい使えるけれど、
Pythonで書くとメリットがあるものしかPythonで書かないから、他の言語の構文がどうとかかなりどうでもいいな。
ブロックスコープがあるといいなと思うことはあるけど。
803デフォルトの名無しさん
2020/02/22(土) 18:48:19.79ID:/u2JjX4w804796
2020/02/22(土) 18:57:19.31ID:qQaAG+8d そのスクリプトの下の方に、こう書いておいて、
「python3 script.py abc」みたいに実行すればよい
全角空白で、インデントしたけど
if __name__ == "__main__":
args = sys.argv
hangman( args[ 1 ] )
「python3 script.py abc」みたいに実行すればよい
全角空白で、インデントしたけど
if __name__ == "__main__":
args = sys.argv
hangman( args[ 1 ] )
806デフォルトの名無しさん
2020/02/22(土) 20:38:45.74ID:NV/PY/Op807デフォルトの名無しさん
2020/02/22(土) 21:00:17.41ID:WVugcdbO インデントにスペースとタブを混在しても問題ないと言っているんだが話理解してるか?
808790
2020/02/22(土) 21:03:41.80ID:8UzPa+1r 皆さんスレのルールを守らなかったにも関わらずレスして戴きありがとうございます
今後はルールを厳守しますのでよろしくお願いします
早速ご忠告どおりに試してみたいと思います
厚かまいついでにもう一つ、逆スラッシュが\に変換されてしまう理由も教えて戴ければ幸いです
今後はルールを厳守しますのでよろしくお願いします
早速ご忠告どおりに試してみたいと思います
厚かまいついでにもう一つ、逆スラッシュが\に変換されてしまう理由も教えて戴ければ幸いです
809デフォルトの名無しさん
2020/02/22(土) 21:07:01.25ID:+QQ7ccWr 変換されてるのではなくフォントの違い
810790
2020/02/22(土) 21:10:51.98ID:8UzPa+1r 独学でpythonをマスターしたというコーリー・アルソフなる御仁の「独学プログラマー」って本で勉強しているんですが、
これは、とても初心者向けとはいえない入門者なので、「超初心者が初心者になるためのpython入門」という本を買い直し
ました
これは、とても初心者向けとはいえない入門者なので、「超初心者が初心者になるためのpython入門」という本を買い直し
ました
811790
2020/02/22(土) 21:12:47.05ID:8UzPa+1r 入門者→入門書
訂正いたします
訂正いたします
812796
2020/02/22(土) 21:13:08.40ID:qQaAG+8d 逆スラッシュが、\ に割り当てられているのは、
日本語キーボードだからじゃないの?
Ruby では、改行は、\n。
\ で問題ない
日本語キーボードだからじゃないの?
Ruby では、改行は、\n。
\ で問題ない
813790
2020/02/22(土) 21:19:59.48ID:8UzPa+1r 仰るとおり日本語キーボードを使っています
\で問題ないんですね
\で問題ないんですね
814デフォルトの名無しさん
2020/02/22(土) 21:34:34.14ID:NV/PY/Op815デフォルトの名無しさん
2020/02/22(土) 21:38:27.08ID:/f58S0oT816デフォルトの名無しさん
2020/02/22(土) 21:44:03.11ID:WVugcdbO817790
2020/02/22(土) 22:00:26.05ID:8UzPa+1r 解決しました!
ちゃんと動きます
最後に関数を呼び出していませんでした
お騒がせしました
ちゃんと動きます
最後に関数を呼び出していませんでした
お騒がせしました
818デフォルトの名無しさん
2020/02/22(土) 22:06:36.76ID:NV/PY/Op819デフォルトの名無しさん
2020/02/22(土) 22:17:04.65ID:WVugcdbO >>818
面倒くさい奴だな。エラーにならないという意味で問題ないと書いたし警告が出るとも書いた。
それに何か反論するならお前の考える問題のあるなし・OK/NGの基準をきちんと定義してからにしろよな。
面倒くさい奴だな。エラーにならないという意味で問題ないと書いたし警告が出るとも書いた。
それに何か反論するならお前の考える問題のあるなし・OK/NGの基準をきちんと定義してからにしろよな。
820デフォルトの名無しさん
2020/02/22(土) 22:42:33.33ID:NV/PY/Op821デフォルトの名無しさん
2020/02/22(土) 22:50:49.87ID:WVugcdbO だから流れ読めと言ったんだが。>>797-801は動く動かないの話しかしてないだろ。
822デフォルトの名無しさん
2020/02/22(土) 22:57:54.31ID:WVugcdbO823デフォルトの名無しさん
2020/02/22(土) 23:49:21.14ID:nfgptzfk TabError: inconsistent use of tabs and spaces in indentation
https://ideone.com/3EhNsh
インデントに一貫性がない場合ってのが「混在してる」場合の一つ
結論 =>「混在は別に問題ない」わけがない
https://ideone.com/3EhNsh
インデントに一貫性がない場合ってのが「混在してる」場合の一つ
結論 =>「混在は別に問題ない」わけがない
824デフォルトの名無しさん
2020/02/23(日) 00:11:39.44ID:4i+7lYMQ しょもない流れww
825デフォルトの名無しさん
2020/02/23(日) 01:30:58.93ID:0yFZuBmR Tab、スペースインデント混在は
tabを何個のスペースにするのかわからんからエラーにしているんだろ。
Tab、スペースインデント混在の場合
スペースインデントが4スペースでtabが4スペースになるエディタでかきかきして、
で、別な人がtabを2スペースにしているエディタみたら怒るからな
tabを何個のスペースにするのかわからんからエラーにしているんだろ。
Tab、スペースインデント混在の場合
スペースインデントが4スペースでtabが4スペースになるエディタでかきかきして、
で、別な人がtabを2スペースにしているエディタみたら怒るからな
826デフォルトの名無しさん
2020/02/23(日) 06:17:14.29ID:wq/R6u2w827デフォルトの名無しさん
2020/02/23(日) 08:55:09.18ID:SvXUu1bl828デフォルトの名無しさん
2020/02/23(日) 09:38:02.01ID:bBLmO4C6 まだ言ってるのかよ
お前の問題ないの定義がぬるすぎるだけ
お前の問題ないの定義がぬるすぎるだけ
829デフォルトの名無しさん
2020/02/23(日) 10:02:06.33ID:I9CLSJWc >>827
ウダウダ言ってないでコードで示して
ウダウダ言ってないでコードで示して
830デフォルトの名無しさん
2020/02/23(日) 10:30:43.78ID:SvXUu1bl これでいいか?
https://ideone.com/UctDWc
https://ideone.com/UctDWc
831デフォルトの名無しさん
2020/02/23(日) 10:45:39.04ID:hiW827nh >>830
そのコードを何の補足説明も無しに「タブとスペースが混在してるが、一貫性は保たれてる」と言うのは君だけだぞ
そのコードを何の補足説明も無しに「タブとスペースが混在してるが、一貫性は保たれてる」と言うのは君だけだぞ
832デフォルトの名無しさん
2020/02/23(日) 11:09:17.84ID:SvXUu1bl833デフォルトの名無しさん
2020/02/23(日) 11:13:02.67ID:SvXUu1bl834デフォルトの名無しさん
2020/02/23(日) 11:23:31.43ID:4ldhSgPz (本来の意味での)マンチキン現る
835デフォルトの名無しさん
2020/02/23(日) 11:24:54.59ID:4ldhSgPz # マンチカン なら、833の顔面偏差値でも「動きがぐうかわ!」で済ませられるんだけどな。
836デフォルトの名無しさん
2020/02/23(日) 11:35:28.05ID:SIYyhFz4 [A,B,C]と、[E,F,G]の配列を
[[A,E],[B,F],[C,G]]とするにはどうすればいいですか?
[[A,E],[B,F],[C,G]]とするにはどうすればいいですか?
837デフォルトの名無しさん
2020/02/23(日) 11:38:38.07ID:4ldhSgPz838デフォルトの名無しさん
2020/02/23(日) 11:46:19.49ID:SIYyhFz4 >>837
常に同じ形をしています
常に同じ形をしています
839デフォルトの名無しさん
2020/02/23(日) 12:04:58.04ID:4ldhSgPz840デフォルトの名無しさん
2020/02/23(日) 12:05:46.76ID:pmgC0PIY 自称月商800万!!!マナブの収益!!
http://www.tuber-town.com/channel_detail/UCb9h8EpBlGHv9Z896fu4yeQ.html
本物の有能な新人。 しかも無名。
http://www.tuber-town.com/channel_detail/UC7umTzIrIJq8Xh428lj0M5A.html
http://www.tuber-town.com/channel_detail/UCS8WbS0kQCbqVYLU26pMHoA.html
http://www.tuber-town.com/channel_detail/UC4T-dSpkAT8xGprFjXpBeMw.html
http://www.tuber-town.com/channel_detail/UCDPjpWErZOYsoqfeCxYTd_Q.html
http://www.tuber-town.com/channel_detail/UCIgIVRs-VrV-pkkenE5lRBQ.html
http://www.tuber-town.com/channel_detail/UCb9h8EpBlGHv9Z896fu4yeQ.html
本物の有能な新人。 しかも無名。
http://www.tuber-town.com/channel_detail/UC7umTzIrIJq8Xh428lj0M5A.html
http://www.tuber-town.com/channel_detail/UCS8WbS0kQCbqVYLU26pMHoA.html
http://www.tuber-town.com/channel_detail/UC4T-dSpkAT8xGprFjXpBeMw.html
http://www.tuber-town.com/channel_detail/UCDPjpWErZOYsoqfeCxYTd_Q.html
http://www.tuber-town.com/channel_detail/UCIgIVRs-VrV-pkkenE5lRBQ.html
841デフォルトの名無しさん
2020/02/23(日) 12:06:59.72ID:4ldhSgPz >>839の(2)補足
「カラのリストを1個用意する。」のところで、
どっちかのリストの長さ分をもってる、中身は全部カラのリスト を作った方が、
おれ的には、なんでかしらんがうまくいきやすいと感じている。
「カラのリストを1個用意する。」のところで、
どっちかのリストの長さ分をもってる、中身は全部カラのリスト を作った方が、
おれ的には、なんでかしらんがうまくいきやすいと感じている。
842デフォルトの名無しさん
2020/02/23(日) 12:14:34.21ID:IlwHKqM0 list(map(list, zip([A,B,C], [E,F,G])))
843デフォルトの名無しさん
2020/02/23(日) 12:33:29.80ID:wq/R6u2w >>801の書き方が悪かったごめんなさい
で済む話をいつまでやってるんだよw
で済む話をいつまでやってるんだよw
844デフォルトの名無しさん
2020/02/23(日) 12:46:42.62ID:SIYyhFz4845デフォルトの名無しさん
2020/02/23(日) 13:03:41.65ID:4ldhSgPz846デフォルトの名無しさん
2020/02/23(日) 13:40:44.27ID:SIYyhFz4847デフォルトの名無しさん
2020/02/23(日) 13:43:46.84ID:Lg699LWo Ruby では、Enumerable#zip を使うけど
p [ 1, 2, 3 ].zip( [ "a", "b", "c" ] ).to_a
出力
[[1, "a"], [2, "b"], [3, "c"]]
p [ 1, 2, 3 ].zip( [ "a", "b", "c" ] ).to_a
出力
[[1, "a"], [2, "b"], [3, "c"]]
848デフォルトの名無しさん
2020/02/23(日) 14:34:59.54ID:Uzk6PZD8 mとかnとか意味わからんから具体例出したら?
849デフォルトの名無しさん
2020/02/23(日) 15:06:29.84ID:4ldhSgPz850デフォルトの名無しさん
2020/02/23(日) 15:17:26.77ID:mVzZkmaX そもそもタプルが何かわかってないんだと思う
851デフォルトの名無しさん
2020/02/23(日) 15:18:50.99ID:a7fNYQLW おれがしんのえすぱーだ
list_c = [ list(i) for i in zip(list_a,list_b)]
list_c = [ list(i) for i in zip(list_a,list_b)]
852デフォルトの名無しさん
2020/02/23(日) 15:24:50.40ID:IlwHKqM0 無理やりエスパーすると、n=2の場合にA,B,...はすべて
A=[[[1,2],[3,4]],[[5,6],[7,8]]]
E=[[[8,7],[6,5]],[[4,3],[2,1]]]
の形をしていて、
[[[[1,2],[3,4]],[[5,6],[7,8]]],...]
[[[[8,7],[6,5]],[[4,3],[2,1]]],...]
から
[[[[[1,8],[2,7]],[[3,6],[4,5]]],[[[5,4],[6,3]],[[7,2],[8,1]]]],...]
にしたいんじゃなかろうか。
A=[[[1,2],[3,4]],[[5,6],[7,8]]]
E=[[[8,7],[6,5]],[[4,3],[2,1]]]
の形をしていて、
[[[[1,2],[3,4]],[[5,6],[7,8]]],...]
[[[[8,7],[6,5]],[[4,3],[2,1]]],...]
から
[[[[[1,8],[2,7]],[[3,6],[4,5]]],[[[5,4],[6,3]],[[7,2],[8,1]]]],...]
にしたいんじゃなかろうか。
853デフォルトの名無しさん
2020/02/23(日) 15:31:36.94ID:Ofd1+MwB np.array(zip(np.array(list_a).flatten(), np.array(list_b).flatten())).flatten().reshape(hoge,fuga)
854デフォルトの名無しさん
2020/02/23(日) 18:12:37.71ID:I9CLSJWc >>833
そのコードを見てインデントに一貫性があるとは初心者はまず思わない
コードを示した上で「インデントの一貫性」とは何かを
初心者に分かるように説明できなければ君の価値ないよ
何度レスしてもエラーメッセージに書いてる以外の言葉で説明できてないから
コイツわかってなさそうって印象を受ける
そのコードを見てインデントに一貫性があるとは初心者はまず思わない
コードを示した上で「インデントの一貫性」とは何かを
初心者に分かるように説明できなければ君の価値ないよ
何度レスしてもエラーメッセージに書いてる以外の言葉で説明できてないから
コイツわかってなさそうって印象を受ける
855デフォルトの名無しさん
2020/02/23(日) 18:32:25.06ID:SvXUu1bl >>801の「インデントに一貫性がない」というのは
TabError: inconsistent use of tabs and spaces in indentation
このエラーが出る状態のことを言ったつもりだが、他に解釈のしようがあるかね?
「python インデント 一貫性」とかでググればすぐ出てくるが。
いつまで「問題ない」とか「一貫性」とかの言葉だけにこだわるんだか。
TabError: inconsistent use of tabs and spaces in indentation
このエラーが出る状態のことを言ったつもりだが、他に解釈のしようがあるかね?
「python インデント 一貫性」とかでググればすぐ出てくるが。
いつまで「問題ない」とか「一貫性」とかの言葉だけにこだわるんだか。
856デフォルトの名無しさん
2020/02/23(日) 19:20:35.92ID:ot72o1Tp Tab SP
Tab Tab
SP SP
Tab Tab
これpythonでは同一レベルになるけどお前的には一貫性があると言うの?
Tab Tab
SP SP
Tab Tab
これpythonでは同一レベルになるけどお前的には一貫性があると言うの?
857デフォルトの名無しさん
2020/02/23(日) 19:53:32.77ID:/zCpM4JS >>856
ガイジはガイジの学校で先生とお話ししてろカス
ガイジはガイジの学校で先生とお話ししてろカス
858デフォルトの名無しさん
2020/02/23(日) 20:14:26.92ID:wq/R6u2w バカに用はないからいちいち絡んでくるなよw
859デフォルトの名無しさん
2020/02/23(日) 20:18:41.95ID:4ldhSgPz860デフォルトの名無しさん
2020/02/23(日) 20:26:52.60ID:SvXUu1bl >>858
まったく同感。気が合うなw
まったく同感。気が合うなw
861デフォルトの名無しさん
2020/02/23(日) 20:29:17.69ID:I9CLSJWc862デフォルトの名無しさん
2020/02/23(日) 21:06:55.32ID:wq/R6u2w863デフォルトの名無しさん
2020/02/23(日) 21:11:30.09ID:4ldhSgPz >>830
さっきまで、デジャヴュがしてすごいひっかかってたんだが
思い出したwww
まだPython2.3あたり最新安定版だった頃のド初心者おれが
まじでこんなクソコード書いてたwwwww
うはwwwwメガナツカシスwwwwww
さっきまで、デジャヴュがしてすごいひっかかってたんだが
思い出したwww
まだPython2.3あたり最新安定版だった頃のド初心者おれが
まじでこんなクソコード書いてたwwwww
うはwwwwメガナツカシスwwwwww
864デフォルトの名無しさん
2020/02/23(日) 22:05:12.03ID:SvXUu1bl865デフォルトの名無しさん
2020/02/23(日) 22:30:36.58ID:uUFeESNP Pythonで文字を入力させて、計算をさせたりすることは出来ますか?
例えば、
1切ると泣いてしまう食べ物は?(玉ねぎ):5点
2ニュートンと関わり深い果物は?(りんご):5点
というなぞなぞを作る時、
input1=input('切ると泣いてしまう食べ物は?')
input2=input('ニュートンと関わり深い果物は?')
.
.
.
として回答に応じて10点満点のテストを作ることは可能ですか?
例えば、
1切ると泣いてしまう食べ物は?(玉ねぎ):5点
2ニュートンと関わり深い果物は?(りんご):5点
というなぞなぞを作る時、
input1=input('切ると泣いてしまう食べ物は?')
input2=input('ニュートンと関わり深い果物は?')
.
.
.
として回答に応じて10点満点のテストを作ることは可能ですか?
866デフォルトの名無しさん
2020/02/23(日) 22:37:31.79ID:0yFZuBmR >>844のように後出しする奴の相手は、エスパー・高脳でないと駄目だよな
並みの奴は本当に求めているもの何か分からんから振り回されるだけ
後出しクレクレは、自分ファーストで他人の手間とかのことをは考えていないからな
並みの奴は本当に求めているもの何か分からんから振り回されるだけ
後出しクレクレは、自分ファーストで他人の手間とかのことをは考えていないからな
867デフォルトの名無しさん
2020/02/23(日) 22:58:37.25ID:0yFZuBmR868デフォルトの名無しさん
2020/02/23(日) 23:05:50.77ID:I9CLSJWc869デフォルトの名無しさん
2020/02/23(日) 23:15:49.10ID:uUFeESNP >>868
解答入力欄が1とか3の数字ならint()で数値変換出来るんですけど、玉ねぎを数値変換ってどうやってするのですか?
解答入力欄が1とか3の数字ならint()で数値変換出来るんですけど、玉ねぎを数値変換ってどうやってするのですか?
870デフォルトの名無しさん
2020/02/23(日) 23:20:16.80ID:I9CLSJWc >>867
コミュ力の問題じゃない
ID:SvXUu1bl は単に知識がないだけ
ググって見つかったエラーメッセージから知ったかしてみたが
その本質的意味を理解してないからエラーメッセージに書いてる文面以上のことを何も説明できない
言語仕様的に「タブとスペースが混在してもインデントに一貫性がある」と言えるのが
どういう場合か分かってないからロクな説明もできずに苦し紛れの知ったかレスを繰り返してるだけ
コミュ力の問題じゃない
ID:SvXUu1bl は単に知識がないだけ
ググって見つかったエラーメッセージから知ったかしてみたが
その本質的意味を理解してないからエラーメッセージに書いてる文面以上のことを何も説明できない
言語仕様的に「タブとスペースが混在してもインデントに一貫性がある」と言えるのが
どういう場合か分かってないからロクな説明もできずに苦し紛れの知ったかレスを繰り返してるだけ
871デフォルトの名無しさん
2020/02/23(日) 23:23:31.04ID:I9CLSJWc872デフォルトの名無しさん
2020/02/23(日) 23:25:33.38ID:T8plbD6x ID:uUFeESNPが求めているのは辞書なのか?
{"玉ねぎ":5,"りんご":5}みたいな
{"玉ねぎ":5,"りんご":5}みたいな
873デフォルトの名無しさん
2020/02/23(日) 23:25:52.40ID:uUFeESNP874デフォルトの名無しさん
2020/02/23(日) 23:42:17.47ID:SvXUu1bl875デフォルトの名無しさん
2020/02/23(日) 23:43:16.03ID:uUFeESNP876デフォルトの名無しさん
2020/02/23(日) 23:46:20.80ID:5VljjZNL くだらない争いを止められない精神年齢の低さ
これがpython使いです。
これがpython使いです。
877デフォルトの名無しさん
2020/02/23(日) 23:58:51.12ID:4ldhSgPz >>875
事前に872が作ってくれたようなかんじの
正解ワード:得点 ってなってる「辞書」を用意しておく。
ほんでもって
「問題文と正解ワードが1対1対応のリスト」のリストにでもして、これまた予め集めてておく(問題集)
適当なカウンタ変数を用意する(iみたいな1文字名でおk)初期値は0
おまいの得点=0
for i < len(問題集):
出題文=問題集[i][0]
正解=問題集[i][1]
hoge=input(出題文) # 回答入力
if hoge==正解: # 回答と照合
加点=辞書[正解] # 数値変換
おまいの得点+=加点 # 計算
さいごに
print(おまいの得点)とでもやれば、何点とれたか出る。
事前に872が作ってくれたようなかんじの
正解ワード:得点 ってなってる「辞書」を用意しておく。
ほんでもって
「問題文と正解ワードが1対1対応のリスト」のリストにでもして、これまた予め集めてておく(問題集)
適当なカウンタ変数を用意する(iみたいな1文字名でおk)初期値は0
おまいの得点=0
for i < len(問題集):
出題文=問題集[i][0]
正解=問題集[i][1]
hoge=input(出題文) # 回答入力
if hoge==正解: # 回答と照合
加点=辞書[正解] # 数値変換
おまいの得点+=加点 # 計算
さいごに
print(おまいの得点)とでもやれば、何点とれたか出る。
878デフォルトの名無しさん
2020/02/24(月) 00:29:21.02ID:iQYTd9Fe >>873
input1=input('切ると泣いてしまう食べ物は? ')
input2=input('ニュートンと関わり深い果物は? ')
score = 0
if input1 == "玉ねぎ":
____score += 5
if input2 == "りんご":
____score += 5
print(score)
一番最初はこのレベルから。
何かしら超入門のチュートリアルをやりながら学んだほうがいい
チュートリアルを終えれば繰り返し処理を抽出して1つにまとめたり
問題文・回答・得点をファイルから読むようにしたりできるようになる
input1=input('切ると泣いてしまう食べ物は? ')
input2=input('ニュートンと関わり深い果物は? ')
score = 0
if input1 == "玉ねぎ":
____score += 5
if input2 == "りんご":
____score += 5
print(score)
一番最初はこのレベルから。
何かしら超入門のチュートリアルをやりながら学んだほうがいい
チュートリアルを終えれば繰り返し処理を抽出して1つにまとめたり
問題文・回答・得点をファイルから読むようにしたりできるようになる
879デフォルトの名無しさん
2020/02/24(月) 01:07:21.07ID:EuMvh8nX880デフォルトの名無しさん
2020/02/24(月) 01:52:00.30ID:9Kd/PSPa881デフォルトの名無しさん
2020/02/24(月) 02:57:11.84ID:mxVLP7kg よーしパパ縦タブでPython書いちゃうぞー!
882デフォルトの名無しさん
2020/02/24(月) 08:50:50.41ID:vb10EdOX883デフォルトの名無しさん
2020/02/24(月) 13:47:09.95ID:/24zPZsT >>844
>A,B,...G...は全て(n,n,n,1)の形をしています。
これは例えばこういうこと?
import numpy as np
A= np.arange(8).reshape((2,2,2,1))
print(A.tolist())
[[[[0], [1]], [[2], [3]]], [[[4], [5]], [[6], [7]]]]
>A,B,...G...は全て(n,n,n,1)の形をしています。
これは例えばこういうこと?
import numpy as np
A= np.arange(8).reshape((2,2,2,1))
print(A.tolist())
[[[[0], [1]], [[2], [3]]], [[[4], [5]], [[6], [7]]]]
884デフォルトの名無しさん
2020/02/24(月) 17:02:41.23ID:CIjc5zGo n=10のときで頼む
885デフォルトの名無しさん
2020/02/26(水) 08:30:44.63ID:MVR+lhT1 f文字で改行する場合はどうしたら良いのでしょうか?
> f'hello \n{hoge}'
上記のようにすると\nがそのまま出力されてしまうのですが
> f'hello \n{hoge}'
上記のようにすると\nがそのまま出力されてしまうのですが
886デフォルトの名無しさん
2020/02/26(水) 08:35:41.43ID:MVR+lhT1887デフォルトの名無しさん
2020/02/26(水) 09:15:01.47ID:tNUOa1QH print(r'''>>886 \nそれぐらい
ググれ カス''')
ググれ カス''')
888デフォルトの名無しさん
2020/02/26(水) 11:19:23.96ID:wiEfavJ1 r付けるなよω
889デフォルトの名無しさん
2020/02/26(水) 11:30:34.21ID:fe8YPe+s890デフォルトの名無しさん
2020/02/26(水) 11:42:23.29ID:tTxVb/IM pintが外れた
891デフォルトの名無しさん
2020/02/26(水) 11:58:06.05ID:hHwy7uag アホ草
892デフォルトの名無しさん
2020/02/27(木) 00:47:35.59ID:PK1Y55xx 標準モジュールのreってなんでマッチした文字列を返すメソッドがgroup()なの?
どういう意味?
どういう意味?
893デフォルトの名無しさん
2020/02/27(木) 05:25:20.18ID:Y+lBo+rc894デフォルトの名無しさん
2020/02/27(木) 08:58:40.02ID:gp31hmMe s///g;
の名残りだろ
の名残りだろ
895デフォルトの名無しさん
2020/02/27(木) 11:05:33.77ID:jJI4a3AF 「if分が多いと見難いです
三項演算子を使うといいです」
https://techacademy.jp/magazine/28098
みたいな記事を読んでたんだけど三項演算子ってわかりやすいのかな?
適切な場面とそうでない場面がありそうだけどよくわからん
三項演算子を使うといいです」
https://techacademy.jp/magazine/28098
みたいな記事を読んでたんだけど三項演算子ってわかりやすいのかな?
適切な場面とそうでない場面がありそうだけどよくわからん
896デフォルトの名無しさん
2020/02/27(木) 11:12:20.92ID:xfrOpzJC VBの書き方か
897デフォルトの名無しさん
2020/02/27(木) 12:33:47.54ID:gBw0J9MB 目を動かす量が減るから簡単な分岐なら参考演算しでいいよな
898デフォルトの名無しさん
2020/02/27(木) 12:47:41.42ID:G3iz3let 中身が3,4文字なら見やすくなるがめちゃくちゃ長いのに3項演算とか馬鹿としか言いようがない。
899デフォルトの名無しさん
2020/02/27(木) 13:36:25.25ID:j46qIfAH 基本的に読みにくい
Python以外でも 条件 ? 真 : 偽 って書く言語のも読みにくい
普通にif 条件 then 真 else 偽 が式になる関数型言語のは読みやすい
分岐はifが頭にある方が圧倒的に読みやすい
Python以外でも 条件 ? 真 : 偽 って書く言語のも読みにくい
普通にif 条件 then 真 else 偽 が式になる関数型言語のは読みやすい
分岐はifが頭にある方が圧倒的に読みやすい
900デフォルトの名無しさん
2020/02/27(木) 14:06:29.14ID:9dlETTA2 >>892
capture groupのgroupだよ
match全体を結果配列の最初の要素に格納するのは多くの言語で行われてる
group(0)という命名センスは・・・まあ・・ね? pythonだから
capture groupのgroupだよ
match全体を結果配列の最初の要素に格納するのは多くの言語で行われてる
group(0)という命名センスは・・・まあ・・ね? pythonだから
901デフォルトの名無しさん
2020/02/27(木) 14:23:14.28ID:9dlETTA2 >>899
pythonの三項式が読みにくいのは当然だけど
Cの記法が読みにくいかどうかは命名と慣れと抽象化次第
foo = if is_hage then hoge else fuga
foo = is_hage ? hoge : fuga
pythonに三項式が取り入れられる際の投票結果を見ても
今の記法はもちろんif 条件 then 真 else 偽の記法よりも
条件 ? 真 : 偽 のほうが支持されてたことが分かる
pythonの三項式が読みにくいのは当然だけど
Cの記法が読みにくいかどうかは命名と慣れと抽象化次第
foo = if is_hage then hoge else fuga
foo = is_hage ? hoge : fuga
pythonに三項式が取り入れられる際の投票結果を見ても
今の記法はもちろんif 条件 then 真 else 偽の記法よりも
条件 ? 真 : 偽 のほうが支持されてたことが分かる
902デフォルトの名無しさん
2020/02/27(木) 15:30:14.64ID:G6pyHvdg >>892
findall使え
findall使え
903デフォルトの名無しさん
2020/02/27(木) 15:31:40.73ID:G6pyHvdg >>894
s///gのgもgrepのgもpythonのgroupとは無関係
s///gのgもgrepのgもpythonのgroupとは無関係
904デフォルトの名無しさん
2020/02/27(木) 15:34:26.29ID:G6pyHvdg905デフォルトの名無しさん
2020/02/27(木) 16:34:42.20ID:r1k8T+E3906デフォルトの名無しさん
2020/02/27(木) 16:37:07.47ID:G6pyHvdg 細かいことは気にすんな
907デフォルトの名無しさん
2020/02/27(木) 18:08:21.56ID:RRBu+1LX >>895
三項演算子うんぬん以前に、文字列と予約語(if)との間や二項演算子の前後に
空白を置かないという、初心者にありがちな可読性を低下させる誤りがある
この田島悠介という現役エンジニアの技術レベルがその程度であり、
おそらくTechAcademyマガジンというサイトもそんなレベルの記事で
溢れているであろうことは、容易に予測できる
もし自分がPythonで三項演算子を使うなら、以下のように書く
https://www.ideone.com/gOE9K0
後置if節とでも言えばいいのか、Haskellのガード式をイメージしている
>>899
関数型言語ではないが、スレタイの某言語だと以下のように書ける
https://www.ideone.com/uy4Baa
三項演算子うんぬん以前に、文字列と予約語(if)との間や二項演算子の前後に
空白を置かないという、初心者にありがちな可読性を低下させる誤りがある
この田島悠介という現役エンジニアの技術レベルがその程度であり、
おそらくTechAcademyマガジンというサイトもそんなレベルの記事で
溢れているであろうことは、容易に予測できる
もし自分がPythonで三項演算子を使うなら、以下のように書く
https://www.ideone.com/gOE9K0
後置if節とでも言えばいいのか、Haskellのガード式をイメージしている
>>899
関数型言語ではないが、スレタイの某言語だと以下のように書ける
https://www.ideone.com/uy4Baa
908デフォルトの名無しさん
2020/02/27(木) 19:10:02.18ID:x1hy167u909デフォルトの名無しさん
2020/02/27(木) 20:53:30.14ID:b5CXYagp910デフォルトの名無しさん
2020/02/27(木) 21:11:54.40ID:oAIJ90KI911デフォルトの名無しさん
2020/02/27(木) 22:06:26.96ID:F/P7X7F7 ループでぐるぐるまわしてて
4の倍数の時は3をたすってのはどうしたらいいですか
それ以外のときはそれぞれ別々にやる計算あります
あとpythonの質問するところってここしか知らないですが
他にもありますか?
4の倍数の時は3をたすってのはどうしたらいいですか
それ以外のときはそれぞれ別々にやる計算あります
あとpythonの質問するところってここしか知らないですが
他にもありますか?
912デフォルトの名無しさん
2020/02/27(木) 22:39:54.31ID:ZhdluG0Q >>911
非コミュ障害、知能が低くないなら、ここよりTeratailにしたほうが良いが
でも、お前はコミュ障害もち、知能低い感じで一般の奴らからは相手にされないだろう。
結局、基地外、ゆとり、低脳の掲示板である5chぐらいしかお前の相手をしてくれないよ
非コミュ障害、知能が低くないなら、ここよりTeratailにしたほうが良いが
でも、お前はコミュ障害もち、知能低い感じで一般の奴らからは相手にされないだろう。
結局、基地外、ゆとり、低脳の掲示板である5chぐらいしかお前の相手をしてくれないよ
913デフォルトの名無しさん
2020/02/27(木) 22:41:29.91ID:W1ryAU1b914デフォルトの名無しさん
2020/02/27(木) 22:43:31.64ID:IKP0YcdJ pandasで2つのキーを指定してcsvファイルを結合したいのですが、可能でしょうか?
列Aが一致する範囲内で列Bを軸に2つのファイルを結合
pd.merge(df1, df2, on=['列A', '列B'], how='outer') としたところ、シャッフルして変になりました
列Aが一致する範囲内で列Bを軸に2つのファイルを結合
pd.merge(df1, df2, on=['列A', '列B'], how='outer') としたところ、シャッフルして変になりました
915デフォルトの名無しさん
2020/02/27(木) 22:45:57.22ID:F/P7X7F7 >>912
仕方がないですがあなたもお仲間ですね
仕方がないですがあなたもお仲間ですね
916デフォルトの名無しさん
2020/02/27(木) 22:50:12.13ID:W1ryAU1b >>914
なにがどう「変に」と感じたのかしらんが
↓あたりのhowについてのところ + joinについてのところでもよんでみればー
ttps://note.nkmk.me/python-pandas-merge-join/
なにがどう「変に」と感じたのかしらんが
↓あたりのhowについてのところ + joinについてのところでもよんでみればー
ttps://note.nkmk.me/python-pandas-merge-join/
917デフォルトの名無しさん
2020/02/27(木) 22:53:16.74ID:F/P7X7F7 4の倍数でっていうのは
if n%4 == 0:
____b=a+3
else:
____b=a
みたいなのじゃなくて
if使わなくてもa+3に
なにか足すと四の倍数の時にだけ3を足すような
のがあるかどうか知りたかったのです
説明不足ですいませんでした
if n%4 == 0:
____b=a+3
else:
____b=a
みたいなのじゃなくて
if使わなくてもa+3に
なにか足すと四の倍数の時にだけ3を足すような
のがあるかどうか知りたかったのです
説明不足ですいませんでした
918デフォルトの名無しさん
2020/02/27(木) 22:55:49.15ID:0yCkEhTI pythonの環境構築が難しすぎる
3系で動かそうとしたら、デフォで入ってる2系が動いてる
vagrantでsyncフォルダにScrapyのプロジェクト作ろうとしたらエラー吐くし
諦めてdjangoで糞アプリ作ってる
pythonはライブラリが豊富だから魅力的なんだけど、今の活かせてない
3系で動かそうとしたら、デフォで入ってる2系が動いてる
vagrantでsyncフォルダにScrapyのプロジェクト作ろうとしたらエラー吐くし
諦めてdjangoで糞アプリ作ってる
pythonはライブラリが豊富だから魅力的なんだけど、今の活かせてない
919デフォルトの名無しさん
2020/02/27(木) 23:09:00.44ID:mQGc2SMz >>911
その日本語をそのままコードに翻訳するだけ
その日本語をそのままコードに翻訳するだけ
920デフォルトの名無しさん
2020/02/27(木) 23:22:44.86ID:9dlETTA2 >>907
>関数型言語ではないが、スレタイの某言語だと以下のように書ける
そのケースは普通case文使うやろ
https://www.ideone.com/7jQ3Tb
>>909
ぱっと見わかりやすそうに見えるけど
自然な思考順序に反してるからすごく可読性が低いんよね
>関数型言語ではないが、スレタイの某言語だと以下のように書ける
そのケースは普通case文使うやろ
https://www.ideone.com/7jQ3Tb
>>909
ぱっと見わかりやすそうに見えるけど
自然な思考順序に反してるからすごく可読性が低いんよね
921デフォルトの名無しさん
2020/02/27(木) 23:28:37.71ID:j46qIfAH922デフォルトの名無しさん
2020/02/27(木) 23:48:16.79ID:EmRw8gIY923デフォルトの名無しさん
2020/02/28(金) 00:00:23.47ID:CBzuDuio924デフォルトの名無しさん
2020/02/28(金) 00:12:19.37ID:DkMBLb2P >>923
自分だけが見るんなら何やってもいいけど人が見る可能性あるなら正直読みにくいし
無駄なハックは自分がやるならいいけど他人がやってるの見るとイラッとする
人ってそういうもんだし
ただそうやってコードで遊ぶのは勉強としてはとてもいい
自分だけが見るんなら何やってもいいけど人が見る可能性あるなら正直読みにくいし
無駄なハックは自分がやるならいいけど他人がやってるの見るとイラッとする
人ってそういうもんだし
ただそうやってコードで遊ぶのは勉強としてはとてもいい
925デフォルトの名無しさん
2020/02/28(金) 01:04:06.55ID:CBzuDuio926デフォルトの名無しさん
2020/02/28(金) 01:33:44.99ID:mVRkB3jj >>922
内包表記とか関係あるのかな
内包表記とか関係あるのかな
927デフォルトの名無しさん
2020/02/28(金) 02:17:43.60ID:xXr38fg8 >>926
https://lwn.net/Articles/25304/
if <condition> then <expression1> else <expression2>
この選択肢だとマイナー機能に新しいキーワードを追加しないといけない
それに加えてパーサーがif文の開始だと誤解しないようにするため
括弧が必要になり醜くなる
というのがGuidoがPEPが提示段階で書いてた理由
その後メーリングリストでいろいろ議論はされてるけど
本人がそれをまともに読んでる形跡はなく
自分が最初に出した案に決めたように見える
https://lists.gt.net/python/python/144863/?page=1;
https://lists.gt.net/python/dev/264358?#264358
https://lwn.net/Articles/25304/
if <condition> then <expression1> else <expression2>
この選択肢だとマイナー機能に新しいキーワードを追加しないといけない
それに加えてパーサーがif文の開始だと誤解しないようにするため
括弧が必要になり醜くなる
というのがGuidoがPEPが提示段階で書いてた理由
その後メーリングリストでいろいろ議論はされてるけど
本人がそれをまともに読んでる形跡はなく
自分が最初に出した案に決めたように見える
https://lists.gt.net/python/python/144863/?page=1;
https://lists.gt.net/python/dev/264358?#264358
928デフォルトの名無しさん
2020/02/28(金) 02:31:53.06ID:JX0D/Sej ちゃんとメーリスから議論を拾ってくる有能
929デフォルトの名無しさん
2020/02/28(金) 13:49:30.68ID:GfVfgYuK >>918
Windows 10, WSL, Ubuntu 18.04 では、
python/python3 コマンドは別のものだから、間違う訳ないw
which python3
/usr/bin/python3
file /usr/bin/python3
/usr/bin/python3: symbolic link to python3.6
which python
/usr/bin/python
file /usr/bin/python
/usr/bin/python: symbolic link to python2.7
Windows 10, WSL, Ubuntu 18.04 では、
python/python3 コマンドは別のものだから、間違う訳ないw
which python3
/usr/bin/python3
file /usr/bin/python3
/usr/bin/python3: symbolic link to python3.6
which python
/usr/bin/python
file /usr/bin/python
/usr/bin/python: symbolic link to python2.7
930デフォルトの名無しさん
2020/02/28(金) 23:30:10.54ID:/I0WWb67 pyenv導入したいんですがいくつか疑問があります
まず、既にエイリアスに
python="/usr/local/bin/python3"
python2="/usr/bin/python"
という風に設定してるんですが、pyenv導入する場合はこれは外さないとまずいですかね?
そして既に入れてるpipのライブラリはpyenvの方のPythonでも使えるんでしょうか。
最初の導入ばかりでこの辺りの説明してるサイトが全然見つかりませんでした
もし良ければ回答お願いします。
まず、既にエイリアスに
python="/usr/local/bin/python3"
python2="/usr/bin/python"
という風に設定してるんですが、pyenv導入する場合はこれは外さないとまずいですかね?
そして既に入れてるpipのライブラリはpyenvの方のPythonでも使えるんでしょうか。
最初の導入ばかりでこの辺りの説明してるサイトが全然見つかりませんでした
もし良ければ回答お願いします。
931デフォルトの名無しさん
2020/02/29(土) 11:11:22.64ID:VOzt624K とりあえずは外したほうがよい。
というか二重三重の設定をメンテするなんて大変だろ?
pyenv自体はそこらへんのエイリアスをいい感じにやるだけだから
pipも普通に使えるし変わらんよ。
ただ、いろいろ環境がわからなくなることはよくある。
個人的にanacondaにパス通す方がよっぽど事故が少ないんだが、
公式原理主義者はどうも納得しないぽい。
というか二重三重の設定をメンテするなんて大変だろ?
pyenv自体はそこらへんのエイリアスをいい感じにやるだけだから
pipも普通に使えるし変わらんよ。
ただ、いろいろ環境がわからなくなることはよくある。
個人的にanacondaにパス通す方がよっぽど事故が少ないんだが、
公式原理主義者はどうも納得しないぽい。
932デフォルトの名無しさん
2020/02/29(土) 11:17:08.59ID:i8bha/XW もうPythonの環境周りは滅茶苦茶だね
初心者は環境構築だけで丸一日費やして嫌になってやめていく
普及したことが皮肉にも普及の妨げになっている
初心者は環境構築だけで丸一日費やして嫌になってやめていく
普及したことが皮肉にも普及の妨げになっている
933デフォルトの名無しさん
2020/02/29(土) 11:58:39.68ID:KnuPGJb+ 仮想環境が当たり前みたいな記事ばっか書いてるアホどものせいだろ
全員電ノコで4ツ切りにして海に捨てたい
全員電ノコで4ツ切りにして海に捨てたい
934デフォルトの名無しさん
2020/02/29(土) 12:07:24.22ID:4aY82yvr venvもつかえんザコとかおるの?
無視しても良いんじゃね
無視しても良いんじゃね
935デフォルトの名無しさん
2020/02/29(土) 12:54:53.32ID:PDnkp16t 困ってる奴が何のos使ってるのか知らんが、windowsならpathを弄れば何とかなる
俺も勉強のために最新入れてインタラクティブモードでpython起動したら2.7(?)とかだった
cドライブをpython.exeで検索したら20件ぐらい出てきて色んなアプリでpythonが使われていた
仕方がないので自分が意図してインストールしたpythonのpathを一番先頭に持っていったら
自分が意図してインストールしたpython.exeを起動できた
俺も勉強のために最新入れてインタラクティブモードでpython起動したら2.7(?)とかだった
cドライブをpython.exeで検索したら20件ぐらい出てきて色んなアプリでpythonが使われていた
仕方がないので自分が意図してインストールしたpythonのpathを一番先頭に持っていったら
自分が意図してインストールしたpython.exeを起動できた
936デフォルトの名無しさん
2020/02/29(土) 13:00:09.94ID:x6UuZEs8 C#+Visual Studioが至高
937デフォルトの名無しさん
2020/02/29(土) 13:10:46.26ID:/XxbCwlB938デフォルトの名無しさん
2020/02/29(土) 13:42:38.05ID:i8bha/XW >>934
**envというプロダクトが多すぎて検索しただけで萎える
しかも廃れた古いものもヒットするので、全くの新規さんが独学でやるには二重の苦難だろう
こんなんじゃPythonの未来は暗いと感じる
**envというプロダクトが多すぎて検索しただけで萎える
しかも廃れた古いものもヒットするので、全くの新規さんが独学でやるには二重の苦難だろう
こんなんじゃPythonの未来は暗いと感じる
939デフォルトの名無しさん
2020/02/29(土) 13:54:03.49ID:3sltTQiA >>931
ほんそれ
ほんそれ
940デフォルトの名無しさん
2020/02/29(土) 13:56:01.85ID:3sltTQiA941デフォルトの名無しさん
2020/02/29(土) 13:57:46.01ID:3sltTQiA ちょっと判りにくかったかもしれんが
要するに混ぜるなってこと
両方入ってるのは問題無い
環境を混ぜるのが問題
要するに混ぜるなってこと
両方入ってるのは問題無い
環境を混ぜるのが問題
942デフォルトの名無しさん
2020/02/29(土) 14:17:00.97ID:xglx3xdS943デフォルトの名無しさん
2020/02/29(土) 14:26:25.10ID:6BfVplee winもpyに.py関連付けてたらshebang書けば使い分け出来るで
944デフォルトの名無しさん
2020/02/29(土) 14:36:00.26ID:/XxbCwlB >>941
ありがとうございます、とりあえず言われた通りコマンドで選択してみます。
後言い忘れてましたがOSはMacです…エイリアスで色々やってるのはpythonコマンド
だと2系が自動で選択されるからです。環境描き忘れててすみません。
ありがとうございます、とりあえず言われた通りコマンドで選択してみます。
後言い忘れてましたがOSはMacです…エイリアスで色々やってるのはpythonコマンド
だと2系が自動で選択されるからです。環境描き忘れててすみません。
945デフォルトの名無しさん
2020/02/29(土) 14:45:21.95ID:xglx3xdS >>944 なんというぐうくそ
946デフォルトの名無しさん
2020/02/29(土) 23:48:35.12ID:6IdZMwnf947デフォルトの名無しさん
2020/03/03(火) 09:40:24.54ID:Zy/UEfGJ seleniumにてfirefoxの既存のプロファイルを使用する方法はありませんでしょうか?
どうにも既存のプロファイルを読み込まなく難儀しています...
どうにも既存のプロファイルを読み込まなく難儀しています...
948デフォルトの名無しさん
2020/03/03(火) 09:43:07.58ID:Zy/UEfGJ コードはたったコレだけなんですが全くといいほど読み込みません
from selenium import webdriver
fp = webdriver.FirefoxProfile('/home/user1/.mozilla/firefox/zaxxxxxt.default')
browser = webdriver.Firefox(fp)
from selenium import webdriver
fp = webdriver.FirefoxProfile('/home/user1/.mozilla/firefox/zaxxxxxt.default')
browser = webdriver.Firefox(fp)
949デフォルトの名無しさん
2020/03/03(火) 11:13:11.66ID:GznFhYco >>947-948
https://techiedelight.com/compiler/?ScFS
↑ここにかんすうはってきたので
fp = get_profile_path("default")
こうやってさがさせてみそ
それでも、なんでかうまく読まないことあるけど。。。
あと、基本的なところだが、
geckodriverのバージョンが古いと失敗すること多い。
https://techiedelight.com/compiler/?ScFS
↑ここにかんすうはってきたので
fp = get_profile_path("default")
こうやってさがさせてみそ
それでも、なんでかうまく読まないことあるけど。。。
あと、基本的なところだが、
geckodriverのバージョンが古いと失敗すること多い。
950デフォルトの名無しさん
2020/03/04(水) 02:21:30.44ID:n/osJUKI >>949
ありがとうございます
fp = get_profile_path("default")
browser = webdriver.Firefox(fp,executable_path=’場所')
作って頂いた関数を使用したのですが、やはり新規プロファイルを読み込まれ既存のプロファイルが読み込まれません
Chromeでは既存のプロファイルが読み込まれるのですが、如何せんChromeではmeta refreshをdisable出来ないため
firefoxを利用したいのです
プロファイルの場所は初期値 geckodriverは0.26.0なので問題ないと思うのですが…
ありがとうございます
fp = get_profile_path("default")
browser = webdriver.Firefox(fp,executable_path=’場所')
作って頂いた関数を使用したのですが、やはり新規プロファイルを読み込まれ既存のプロファイルが読み込まれません
Chromeでは既存のプロファイルが読み込まれるのですが、如何せんChromeではmeta refreshをdisable出来ないため
firefoxを利用したいのです
プロファイルの場所は初期値 geckodriverは0.26.0なので問題ないと思うのですが…
951デフォルトの名無しさん
2020/03/04(水) 12:59:09.91ID:Q2O9cj6l >>950
プロファイルの場所探すところを改造せんといかんのかもしらん
泥臭いやりかただと、
ターゲットフォルダの中身全部をリストにして
.defaultで終わってるものをとる。みつかったらbreak
みたいなー
プロファイルの場所探すところを改造せんといかんのかもしらん
泥臭いやりかただと、
ターゲットフォルダの中身全部をリストにして
.defaultで終わってるものをとる。みつかったらbreak
みたいなー
952デフォルトの名無しさん
2020/03/04(水) 19:58:03.24ID:fq3DQX8J >>932
アナコンダインストール一発ではだめなの?
アナコンダインストール一発ではだめなの?
953デフォルトの名無しさん
2020/03/04(水) 20:13:57.82ID:O0VNA921 駄目に決まってんだろアホ
お前だろ「Anacondaをインストールする2020最新」とかいうアマゾンの中華製品みたいな信用度の記事Qiitaに書きまくってるゴミは
お前だろ「Anacondaをインストールする2020最新」とかいうアマゾンの中華製品みたいな信用度の記事Qiitaに書きまくってるゴミは
954デフォルトの名無しさん
2020/03/04(水) 23:19:20.62ID:nNNW6i++ Anaconda は、Python が入っていない、Windows 限定
Mac, Linux など、最初から、Pythonが入っているものについては、
初心者には無理なので、プロに聞いてくださいと、
「みんなのPython 第4版、2017」にも、書いてある
つまり、最初から入っている、Pythonと両立させるのは、仮想が必要だから、難しい
Mac, Linux など、最初から、Pythonが入っているものについては、
初心者には無理なので、プロに聞いてくださいと、
「みんなのPython 第4版、2017」にも、書いてある
つまり、最初から入っている、Pythonと両立させるのは、仮想が必要だから、難しい
955デフォルトの名無しさん
2020/03/05(木) 04:04:41.17ID:eClduRvk つまりPythonを使うならWindowsという時代が来たということだな
最初からPythonを入れてシステム的に依存する仕組みにしたLinux系は下手打ったよなあ
最初からPythonを入れてシステム的に依存する仕組みにしたLinux系は下手打ったよなあ
956デフォルトの名無しさん
2020/03/05(木) 07:16:32.77ID:s/vnmaxn システムとは別にPythonいれてそっち使えばいいやん
仮想可は実行環境だからまた別の話
仮想可は実行環境だからまた別の話
957954
2020/03/05(木) 08:01:54.80ID:PBcHTAfh 仮想環境は、Ruby のrbenv・RVM とか、Python のvenv とか、
これが素人には難しすぎるから、入門書には書いていない!
Mac・Linux では、仮想環境になる
これが素人には難しすぎるから、入門書には書いていない!
Mac・Linux では、仮想環境になる
958デフォルトの名無しさん
2020/03/05(木) 12:41:11.27ID:s/vnmaxn959デフォルトの名無しさん
2020/03/05(木) 15:08:38.13ID:zs+Uexwr 超初心者です
100回動作を繰り返すとします
繰り返しn回目でn回〇〇するといった場合どう記述すればいいんですかね?
たとえば30回目の動作で30回ボタンを押す、55回目で55回ボタンを押すというような感じです
100回動作を繰り返すとします
繰り返しn回目でn回〇〇するといった場合どう記述すればいいんですかね?
たとえば30回目の動作で30回ボタンを押す、55回目で55回ボタンを押すというような感じです
960デフォルトの名無しさん
2020/03/05(木) 15:15:03.78ID:CNNRfBpe それ、pythonの質問じゃなくてどうプログラムしたら良いのかの
プログラミング自体の質問だから
自分で考えなさい
プログラミング自体の質問だから
自分で考えなさい
961デフォルトの名無しさん
2020/03/05(木) 15:20:01.54ID:ZS+YL4ip >>959
for n in range(100):
for i in range(n):
doSomething()
for n in range(100):
for i in range(n):
doSomething()
963デフォルトの名無しさん
2020/03/05(木) 16:30:55.23ID:wTyki8t2 pythonはメジャーになって逆に環境構築に関してはひどい状況になったかもな。。
今正確にやるならdockerで閉じ込めろって話になるが、それ初心者には言えんわ。
今正確にやるならdockerで閉じ込めろって話になるが、それ初心者には言えんわ。
964デフォルトの名無しさん
2020/03/05(木) 19:06:49.16ID:yi4ntJTq dockerは厳しいわ
流行っているから本買って来て読んでみたけど
そもそも何をするソフトなのか、何の役に立つのかすら理解できなかった
流行っているから本買って来て読んでみたけど
そもそも何をするソフトなのか、何の役に立つのかすら理解できなかった
965デフォルトの名無しさん
2020/03/05(木) 19:21:28.75ID:wTyki8t2 やっぱり最低限は環境変数とPATHは理解してもらってanaconda入れてPATH通すってやり方かなと思う。
最悪問題起きても環境変数とPATHがわかってればデバッグできるでしょ。
最悪問題起きても環境変数とPATHがわかってればデバッグできるでしょ。
966デフォルトの名無しさん
2020/03/05(木) 19:43:37.44ID:D1lGE/tK google も動かすまでが結構大変なんだよな
初心者には難しいかな
初心者には難しいかな
967デフォルトの名無しさん
2020/03/05(木) 20:16:30.47ID:dUqOCP9n968デフォルトの名無しさん
2020/03/05(木) 20:26:45.66ID:Fk1ZMAni (200, 200) のnumpy配列を(1, 80, 80)にしたいです
お願いします
お願いします
969デフォルトの名無しさん
2020/03/05(木) 20:27:11.49ID:Fk1ZMAni 間違えました
(200, 200) のnumpy配列を(1, 200, 200)にしたいです
お願いします
(200, 200) のnumpy配列を(1, 200, 200)にしたいです
お願いします
970デフォルトの名無しさん
2020/03/05(木) 20:57:29.83ID:s/vnmaxn 丸投げはやっとるん?
971デフォルトの名無しさん
2020/03/05(木) 21:01:02.49ID:fCV+9Bpk np.expand_dims
972デフォルトの名無しさん
2020/03/06(金) 03:11:42.52ID:9EQdyE3d python3で質問です
for i in list1:
if ("A" or "B") in str(i):
list2.append(i)
elif "C"==str(i) or "D"==str(i) or "E"==str(i):#←ここ
list3.append(i)
else:
list4.append(i)
というコードがあるのですが、#部分が汚いというか煩雑で困っています。
いずれは#部分の比較文字列が増える可能性があるので、例えば
("C" or "D" or "E")==str(i)
みたいな感じでスマートに書きたいです。(ちなみにこれだと最初のCしか比較されませんでした。。。)
#部分をどうしたらいいでしょうか?
また、最終的には#部分で比較する別ファイルからリスト型に取り出してぱーっと比較したいです
その場合のアルゴリズムも(ファイルの読み込み操作とかは不要です)できたらほしいです
for i in list1:
if ("A" or "B") in str(i):
list2.append(i)
elif "C"==str(i) or "D"==str(i) or "E"==str(i):#←ここ
list3.append(i)
else:
list4.append(i)
というコードがあるのですが、#部分が汚いというか煩雑で困っています。
いずれは#部分の比較文字列が増える可能性があるので、例えば
("C" or "D" or "E")==str(i)
みたいな感じでスマートに書きたいです。(ちなみにこれだと最初のCしか比較されませんでした。。。)
#部分をどうしたらいいでしょうか?
また、最終的には#部分で比較する別ファイルからリスト型に取り出してぱーっと比較したいです
その場合のアルゴリズムも(ファイルの読み込み操作とかは不要です)できたらほしいです
973972
2020/03/06(金) 03:14:05.66ID:9EQdyE3d974デフォルトの名無しさん
2020/03/06(金) 03:40:12.72ID:HMS8G3Kn975デフォルトの名無しさん
2020/03/06(金) 03:41:39.25ID:zMfd3B+p そんなもんお前…
str(i) in ('C', 'D', 'E')
やろ
ところで、最初の
('A' or 'B') in str(i)
は想定通りに動作してないと思われる
'A' in str(i)
相当だから
もう少し演算子について正確に学んだ方がいい
str(i) in ('C', 'D', 'E')
やろ
ところで、最初の
('A' or 'B') in str(i)
は想定通りに動作してないと思われる
'A' in str(i)
相当だから
もう少し演算子について正確に学んだ方がいい
976デフォルトの名無しさん
2020/03/06(金) 06:32:33.66ID:MUtvLxi6 文字列化すると"A" になるデータってどんなのかな
977デフォルトの名無しさん
2020/03/06(金) 06:56:59.42ID:qYlx8Qkc >>976
ABO式血液型とカー?(ちょうてきとう)
ABO式血液型とカー?(ちょうてきとう)
978デフォルトの名無しさん
2020/03/06(金) 07:06:27.86ID:Z17kfdKR979デフォルトの名無しさん
2020/03/06(金) 08:46:55.47ID:+VKnEuTi980デフォルトの名無しさん
2020/03/06(金) 09:24:34.72ID:6R/8Uuzj >>972
リストの内容によってはこういう方法でもいける。
import re
list=["A","B","C","D","E","F"]
sList=",".join(list)
list2=list2+re.findall("[AB]",sList)
リストの内容によってはこういう方法でもいける。
import re
list=["A","B","C","D","E","F"]
sList=",".join(list)
list2=list2+re.findall("[AB]",sList)
981972
2020/03/06(金) 15:01:17.68ID:yez0RtUo >>979
これで#部分でやりたかったことが出来ました。
ありがとうございます
AとかBは簡略化のためで血液型とかじゃないです
比較する値(list1の各要素)には"ACC"みたいなものが来るようになっていて
Cが含まれていても”CX"みたいになっていたらelseに分岐させる感じの処理です
最初の部分の
if ('A' or 'B') in str(i):
も左をリストにして簡潔にしちゃいたいのですが
さっきのやり方(例えばif str(i) in ['A','B']:)だと"AA"とかがstr(i)に来たときに漏れてしまいます
str(i)にAかBが含まれているとき(例えばAB,AF,AA,BE)に分岐させる処理はどう書いたらいいでしょうか?
最初の
これで#部分でやりたかったことが出来ました。
ありがとうございます
AとかBは簡略化のためで血液型とかじゃないです
比較する値(list1の各要素)には"ACC"みたいなものが来るようになっていて
Cが含まれていても”CX"みたいになっていたらelseに分岐させる感じの処理です
最初の部分の
if ('A' or 'B') in str(i):
も左をリストにして簡潔にしちゃいたいのですが
さっきのやり方(例えばif str(i) in ['A','B']:)だと"AA"とかがstr(i)に来たときに漏れてしまいます
str(i)にAかBが含まれているとき(例えばAB,AF,AA,BE)に分岐させる処理はどう書いたらいいでしょうか?
最初の
982デフォルトの名無しさん
2020/03/06(金) 15:10:11.91ID:6R/8Uuzj なかなかの後出しだな。
単にA,Bが含まれるという条件なのか、A,Bから始まるのか、
C〜の文字列は絶対A,Bは含まないのかなど、細かい条件で全然違うぞ
単にA,Bが含まれるという条件なのか、A,Bから始まるのか、
C〜の文字列は絶対A,Bは含まないのかなど、細かい条件で全然違うぞ
983デフォルトの名無しさん
2020/03/06(金) 16:29:59.27ID:Z17kfdKR >>981
一言でいうと処理対象の複雑さによって処理が異なる
もし文法構造を有しているならパース処理が必要になるが
字の配列だけの問題なら分岐だけで処理できる
フローチャート的なif文の分岐が基本中の基本だから
短く書くやり方は基本が分かってからにしよう
具体的には先頭から一字ずつ判断して行けばいい
先頭の文字がAの場合、Bの場合、
それぞれについて次の文字がAの場合、Bの場合……
ってif文をネストしていけば書けるはず
一言でいうと処理対象の複雑さによって処理が異なる
もし文法構造を有しているならパース処理が必要になるが
字の配列だけの問題なら分岐だけで処理できる
フローチャート的なif文の分岐が基本中の基本だから
短く書くやり方は基本が分かってからにしよう
具体的には先頭から一字ずつ判断して行けばいい
先頭の文字がAの場合、Bの場合、
それぞれについて次の文字がAの場合、Bの場合……
ってif文をネストしていけば書けるはず
984デフォルトの名無しさん
2020/03/06(金) 18:02:59.48ID:MP/8tjp8 pandasで以下のようなcsvファイルを読み込み、
burgers,meatballs,eggs
chutney
turkey,avocado
以下のような2次元配列に変換したいです。
[['burgers', 'meatballs', 'eggs'], ['chutney'], ['turkey', 'avocado']]
pandas.read_csv(..., heade=None).to_numpy().tolist()だとnanが含まれてしまいます。
for文でnan削除するよりスマートな方法はないでしょうか?
burgers,meatballs,eggs
chutney
turkey,avocado
以下のような2次元配列に変換したいです。
[['burgers', 'meatballs', 'eggs'], ['chutney'], ['turkey', 'avocado']]
pandas.read_csv(..., heade=None).to_numpy().tolist()だとnanが含まれてしまいます。
for文でnan削除するよりスマートな方法はないでしょうか?
985972
2020/03/06(金) 20:16:06.38ID:9EOp8vfg >>982
A,Bが含まれるという条件です
例えばAjsやskBfです
Cの文字列は絶対に含みません
後出しになっちゃって本当にすみません。。。
set()とか使って出来ないかなと思ってさっきも色々試したんですけどだめしでした。。。
A,Bが含まれるという条件です
例えばAjsやskBfです
Cの文字列は絶対に含みません
後出しになっちゃって本当にすみません。。。
set()とか使って出来ないかなと思ってさっきも色々試したんですけどだめしでした。。。
986デフォルトの名無しさん
2020/03/06(金) 20:45:36.78ID:n2xpzai7987984
2020/03/06(金) 20:56:23.32ID:MhiZvrbz それでいいです。ありがとうございました。
988デフォルトの名無しさん
2020/03/06(金) 20:57:39.83ID:n2xpzai7989デフォルトの名無しさん
2020/03/06(金) 20:58:36.64ID:n2xpzai7 あと、str()必要??
990デフォルトの名無しさん
2020/03/06(金) 21:49:10.87ID:gkPkCuAw perlみたく安直には出来ないようになってるからね
if (/C|D|E/)
ショウガナイね
そもそも最近のワカモンは正規表現の存在自体知らないんだよ
本当に、聞いたことすらないんだよ
if (/C|D|E/)
ショウガナイね
そもそも最近のワカモンは正規表現の存在自体知らないんだよ
本当に、聞いたことすらないんだよ
991デフォルトの名無しさん
2020/03/06(金) 21:52:24.21ID:gp44GQTA 正規表現はもう古すぎだよなあ
あんな暗号みたいなの覚えられんし方言もあるし
しかもデバッグが非常に難しい
あんな暗号みたいなの覚えられんし方言もあるし
しかもデバッグが非常に難しい
992デフォルトの名無しさん
2020/03/06(金) 21:56:09.57ID:Fgd+2Xim そんなあなたにRaku
993デフォルトの名無しさん
2020/03/06(金) 22:12:28.48ID:7d5kGJiP 正規表現使わずにプログラムするとかそっちのが苦痛だわ
994デフォルトの名無しさん
2020/03/06(金) 23:07:37.81ID:MUtvLxi6995972
2020/03/06(金) 23:29:13.41ID:9EOp8vfg996デフォルトの名無しさん
2020/03/07(土) 00:41:33.17ID:k5ibAr7h997デフォルトの名無しさん
2020/03/07(土) 00:50:58.92ID:CmL9X7tL >>991
俺は自分が書いた正規表現ですら、後で見ると何にマッチするのかわからんってのが
あるからコメントが必須だからな。
すごい奴のすごい正規表現はもう何にマッチするのか文章の説明がないとさっぱりわからん
俺は自分が書いた正規表現ですら、後で見ると何にマッチするのかわからんってのが
あるからコメントが必須だからな。
すごい奴のすごい正規表現はもう何にマッチするのか文章の説明がないとさっぱりわからん
998デフォルトの名無しさん
2020/03/07(土) 01:00:25.56ID:AvLdWjOA あれは魔術師の呪文と同じ
999デフォルトの名無しさん
2020/03/07(土) 01:04:17.34ID:k4ffI6Av うまな
1000デフォルトの名無しさん
2020/03/07(土) 01:04:29.33ID:k4ffI6Av うめ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 64日 9時間 7分 36秒
新しいスレッドを立ててください。
life time: 64日 9時間 7分 36秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- ブラジル人研究者「日本はとても安全な国。だから私はここに移住したい」 翌日、千葉県でスリランカ人に殺される [お断り★]
- 【映画】165億円の赤字か 米ディズニー「白雪姫」実写版、大型連休中の日本でも上映打ち切り [ネギうどん★]
- 【大阪・関西万博】来場者数きのう=5日『12万人1千人』(関係者1万7千人含む) [少考さん★]
- 【自主回収】「あんまん」に「肉まん」が混入1314パックを自主回収「肉まん」に「あんまん」が混入の可能性もあり [おっさん友の会★]
- 【MLB】大谷翔平、新加入の“韓国の至宝”活躍を祝福にネット胸アツ! 「泣けてくる」「スポーツに国境なんてない!」 [冬月記者★]
- 生活保護「持ち家を売らないと受けられない」はウソ…役所やネット上の言葉をうのみにする前に…知っておきたい“実際の法制度” [おっさん友の会★]
- ⭐👊😁👊🏡👊😁👊⭐
- 【実況】博衣こよりのえちえちサルゲッチュクリア耐久🧪
- キィー🐢💢🏡
- 【石破悲報】元力士の店主がつくる相撲部屋のまかない飯(スタミナもつ丼890円)、変わり果てた姿で発見される [126042664]
- 【速報】中川翔子さん、双子を妊娠していたwwwwww
- 【悲報】西田昌司さん、結構大ごとになる。自民沖縄県議も「怒り心頭。政治家としての資質自体に問題があるのでは」 [196352351]