Pythonのお勉強 Part57

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/06/25(月) 09:57:59.24ID:aY7uj4w5
Pythonオフィシャルサイト
http://www.python.org/

■前スレ
Pythonのお勉強 Part56
http://mevius.5ch.net/test/read.cgi/tech/1519430841/

次スレは>>980が挑戦する

ソース貼れるサイト
https://pastebin.com/ ペーストビン
https://ja.osdn.net/pastebin/ OSDNコピペ ログインしないで投稿すると一週間で自動削除
2018/07/22(日) 14:32:25.43ID:mb9TeYz9
>>178
契約形態の問題だよ
受託開発でOSS使いまくったら、使ってる全てのOSSのライセンスを客に許諾させなきゃいけないし、
納品後の不具合は客にとっては「瑕疵」だ
185デフォルトの名無しさん
垢版 |
2018/07/22(日) 14:36:13.45ID:LiIRy0eu
>>183
だよね
Excel Python スレ行けって描こうと思ってて忘れてた
186デフォルトの名無しさん
垢版 |
2018/07/22(日) 15:47:06.31ID:fV3eqRzC
>>170
フランス向けのCASIO fx-CG50グラフ関数電卓に試用版としてmini Pythonが搭載されました

フランス以外の地域には
今年の9月末のOSアップデートで対応するらしい
グラフ描画関連や表計算、行列、複素数など本体が持つ全ての機能を使えるモジュールが追加されるらしい
(日本での公式アナウンスなし)
187デフォルトの名無しさん
垢版 |
2018/07/22(日) 15:55:13.34ID:fV3eqRzC
>>186
写真
https://i.imgur.com/CNXQAyI.jpg
2018/07/22(日) 17:05:58.14ID:paoeFSLz
PCあるからいいや、って感じだな
PCがすぐ触れる環境にいることが大半だから普通の関数電卓も学生時代ぐらいしか使ってないし
2018/07/22(日) 17:09:46.07ID:BTiGFYRw
>>186
おお、スゴいね。
NumPy が使えるといいな。
2018/07/22(日) 17:21:15.29ID:ZN+SAgqe
良いかもと思ったんだけど写真みたらスマホで良いじゃんと思ってしまった。
2018/07/23(月) 19:20:19.78ID:26sYc3oY
これから算出する複数の値から最小の値だけ取り出したいとき
一旦値をリストに入れて、minで取り出したり
if文を使って最小の値を更新したりはなんかダサい気がしたので
もっとスマートな方法はないものかと考えてみたんだけど
x=min(x,tmp) ってやるのがちょっとスマートな気がした
2018/07/23(月) 19:22:57.04ID:rqOI1kjb
ダッサw
2018/07/23(月) 22:05:21.02ID:aBLsQJ7B
別にダサいとは思わんが人に言うほどスマートとも思わん
2018/07/24(火) 12:04:45.05ID:+Ib8ECpK
やり方はいろいろあるけど
最小値保持クラスを作ってそこに値を物故んで最終的に値を取り出すとそれが最小値
ということをわざわざやる人はいまい
195デフォルトの名無しさん
垢版 |
2018/07/24(火) 15:39:11.43ID:WBO96fmU
要素追加時に最小値だけ分けようとするくらいなら
二分木なりなんなりでソート済でデータ持っとけ
2018/07/24(火) 17:25:32.98ID:J0j9Se5F
メモリの無駄
197デフォルトの名無しさん
垢版 |
2018/07/24(火) 17:30:19.52ID:Zw7cfT+5
誰が書いても似たようなコーディングになるってのが
Pythonたる所以でしょ?
なのに、なぜそこまで奇をてらったやり方模索するかなー

そんな事に労力使わずもっと別の事に使えばいいのに

いいんだよ、皆んなと同じで
2018/07/24(火) 18:14:40.89ID:poDO4yuG
いうほど同じでもない
2018/07/24(火) 19:11:35.58ID:9sTUyZAo
>>195
二分木の追加がlog nだから計算時間がかかる。
計算時間きにするならpythonつかうなって?
200デフォルトの名無しさん
垢版 |
2018/07/24(火) 21:20:57.65ID:lbzougb6
>>191
x=min(x,tmp)
普通によくやるわ。Cでもpyでもperlでもjsでも。
2018/07/24(火) 21:55:51.82ID:N95FFTIK
>>200
cとperlは三項演算子使う方が多いと思うです。
2018/07/24(火) 22:05:31.59ID:jFaMrYyE
x = x < tmp ? x : tmp;
2018/07/24(火) 22:22:05.82ID:A4ZhYnDH
x= x if x < tmp else tmp

分かりにくい
2018/07/25(水) 00:27:38.51ID:cbaDvPxR
これってループで一々tmpと現在の最小値比較してるってこと?
コンパイル言語から来た人の超典型的失敗パターンじゃないか
pythonで簡単にできる方法だとnumpyでmin関数入れるのが一番早い
205デフォルトの名無しさん
垢版 |
2018/07/25(水) 01:30:50.03ID:70FrKJkY
>>201
そのコードに名前を付けたものが min やろ…
2018/07/25(水) 01:30:58.69ID:m4qXtG0o
>>204
ケースバイケース。
高速化してもしょうがない時もあるし。
207デフォルトの名無しさん
垢版 |
2018/07/25(水) 01:31:25.08ID:70FrKJkY
>>204
それはリスト化されていることが条件だよね?
2018/07/25(水) 01:46:18.86ID:K8WEMC2U
西澤 弘毅 他1名
Pythonで体験してわかるアルゴリズムとデータ構造

この本の書評がどこにもないんですが少しでも読んだ人の感想聞きたいです
2018/07/25(水) 02:28:13.70ID:XeffCbOQ
宣伝乙。
2018/07/25(水) 02:29:39.45ID:ep37fxti
ゴミだったよ
2018/07/25(水) 03:02:53.94ID:FKQhxP89
>>210
どんな風に?
2018/07/25(水) 04:37:01.57ID:O7/eDKZ3
口にするのも憚られる感じ
2018/07/25(水) 04:38:50.10ID:i92dzS8y
値を全部別に用意したsetかなんかに入れといて最後にmin()で抜き出したほうが面倒がないだろ
214デフォルトの名無しさん
垢版 |
2018/07/25(水) 05:54:20.76ID:IZoe0Cl/
>>189
tensorflowもchainerもkerasもcaffeもsympyもscipyも
2018/07/25(水) 08:50:20.49ID:NiRHK/R9
元の書き込みではスマートにしたいってことだけどそれならリストをminするだけが一番スマート
超巨大なリストでメモリに乗らないような特殊な状況とは書かれていないし
216デフォルトの名無しさん
垢版 |
2018/07/25(水) 09:54:10.96ID:SfO6vmHU
>>212
+1
2018/07/25(水) 11:35:28.57ID:FKQhxP89
>>212
そんなに?
2018/07/25(水) 12:45:26.42ID:gbogn3LB
>>204
numpy 必要とかクソ
2018/07/25(水) 13:38:33.74ID:FKQhxP89
python使いならnumpyとpandasはマスト
220デフォルトの名無しさん
垢版 |
2018/07/25(水) 13:50:56.53ID:/wvIKjDh
>>219
anacondaは?
221デフォルトの名無しさん
垢版 |
2018/07/25(水) 14:28:25.77ID:ujsF1Tvq
>>220
IISとASPのどっちが良いかみたいな糞発言するな
2018/07/25(水) 15:02:28.36ID:kU2Y2u5P
cpythonのネイティブ環境のみで何とかするのが漢というものだ
2018/07/25(水) 15:36:57.41ID:m4qXtG0o
>>219
pandas使ったことない。
メリットがよくわからない。
2018/07/25(水) 16:34:59.32ID:E1m078hx
>>223
列に名前を付けられる
行にインデックスを設定できる
EXCELの表をそのままデータ化した感じ
225デフォルトの名無しさん
垢版 |
2018/07/25(水) 17:56:14.51ID:8PO6NK+Q
例えば一つのセルだけ書き換えたくても
全部読んで全部書くっていうのが違和感あるんだよな
2018/07/25(水) 18:05:58.81ID:ru0lrBQY
データベース使え
2018/07/25(水) 18:14:43.08ID:gHbxy4NO
そもそもpandasは列毎に意味のある値を纏めたい場合に向けたものなので単一セルの書き換えが遅いのは仕方ない
そういう煩雑な操作はnumpyでやって最後にpandasで整理する
228デフォルトの名無しさん
垢版 |
2018/07/25(水) 18:42:35.50ID:IUbGAjjx
ファイルのストリーム読み込みでジェネレーターを使う利点ってあるのかな?
2018/07/25(水) 19:10:51.51ID:ECU7nF2X
めんどくせえな標準機能に入れとけよ
2018/07/25(水) 19:33:08.09ID:ChUzuDND
じゃあ、お前が作れよ。
2018/07/26(木) 03:59:42.14ID:znQQDIby
Webページのソース取り込むじゃん。
ソースでかすぎて取りきれないじゃん(1000行ぐらいで後は切り捨てられてる)
なんかいい方法ない?
2018/07/26(木) 07:44:22.03ID:7Hgjh1uN
curl使う
2018/07/26(木) 10:53:53.96ID:35VHIwB5
PyPy使っている人いますか。仕事で使いづらいです。
2018/07/26(木) 11:46:09.00ID:+YLmze6V
PyPyはリソースを無駄に分散させるアホとしてPythonコミュニティから村八分にされてる嫌われ者
使わなくていい
2018/07/28(土) 13:22:24.74ID:ooB9UphU
デカ美
2018/07/28(土) 20:19:57.87ID:JWvTUa5m
もうおしめえだなpython

Pythonを生み出し30年間にわたって開発主導してきたvan Rossum、嫌気が差して引退 [787645228]
http://leia.5ch.net/test/read.cgi/poverty/1532767696/
2018/07/28(土) 21:27:00.26ID:xBeHFiSQ
開発体制が見直されるだけじゃん
2018/07/28(土) 21:29:24.43ID:wXTKFH2S
この前、周りから過大評価されて祭りあげられるのに嫌気がさしたと読んだぞ
2018/07/28(土) 21:58:45.56ID:Ls9tzaL9
Microsoftに買い取ってもらおう
2018/07/29(日) 01:26:46.49ID:iRLp5x23
口を出さずに金だけ出す奴に買って欲しい

その点Googleは無い
2018/07/29(日) 09:48:53.21ID:dYmpVYXM
GythonもしくはGypthonの誕生である
2018/07/29(日) 13:23:44.53ID:BxU7uSOM
ありそうな名前
2018/07/29(日) 14:23:45.70ID:0tA+xYT3
●●県内図書館横断検索 大学図書館と離島の図書館を除く公共図書館
検索キーワード python3
検索結果0件

はぁ?
244デフォルトの名無しさん
垢版 |
2018/07/29(日) 16:37:21.38ID:VhMfJs5M
webdriver 使ってgoogle-chromeを起動させたいのですが
「chromeは自動テストソフトウェアによって制御されています」とメッセージがでるやつじゃなく
いつも使っているchromeブラウザ(お気に入りなどが登録されているやつ)を起動させる方法ありましたら教えて下さい
2018/07/29(日) 16:51:52.98ID:pFjYaTQt
options = Selenium::WebDriver::Chrome::Options.new
options.add_option(:detach, true) # ブラウザを操作しない
options.add_argument('--start-maximized') # 画面最大

漏れは、Ruby で、画面最大にして、ブラウザを操作しないようにしているけど、
シェル(PowerShell・コマンドプロンプト)が入力できるようになるだけで、

依然として、ブラウザは、シェルの子プロセスだし、
シェルを終了すれば、ブラウザも終了する

「自動テストソフトウェアによって制御されています」も、常に表示される
2018/07/29(日) 17:58:32.06ID:XRxWwjgw
Pythle
2018/07/29(日) 19:24:52.22ID:oRtHUdq6
Pythree
248デフォルトの名無しさん
垢版 |
2018/07/30(月) 14:43:56.75ID:9hu9kZJO
>>244
import webbrowser

webbrowser.open('http://www.python.org')
2018/07/31(火) 18:04:18.82ID:6oaY0pAc
Numpy使っています
[[[12, 10], [2, 3], [5, 22]]]
[[[10, 12], [3, 4], [1, 3]]]
このような行列があった際に、それぞれの行列の1次元配列(例えば[12, 10])のユークリッド距離(行列内の同じ順番の配列のみ)が20以下の際はtrue、それ以上はfalseの行列を返したいです
この場合は
[[true, true, false]]です
2018/07/31(火) 18:25:31.23ID:OQd1dDBm
>>249
arrayが二つあるけどそれぞれの関係が分かりません

例えば(12, 10)と(10, 12)のユークリッド距離を計算して20以下かどうか判断するのかなと解釈したけど
(5, 22)と(1, 3)のユークリッド距離は20以下なので例と答えが違うし。

ちなみにこんな感じで計算した
a = np.array([[[12, 10], [2, 3], [5, 22]]]) - np.array([[[10, 12], [3, 4], [1, 3]]])
f = lambda x: np.linalg.norm(x) <= 20
np.apply_along_axis(f, 2, a) # array([[ True, True, True]])
2018/07/31(火) 19:13:30.56ID:oy5zcB4y
>>250
すみませんミスです
最後の配列は[1,1]です
解釈はそれであってると思います

最後の出力を(ユークリッド距離が20以下)がTrueの場合は、1つめの行列の対応する座標をコピー、Falseの場合は[0, 0]とする方法もありますかね?

[[true, true, false]]の場合は[[12, 10], [2, 3], [0, 0]]]です
2018/07/31(火) 22:14:47.90ID:SMvE7CXx
Rubyへの憎悪を増大させて、
2018/07/31(火) 23:16:07.12ID:jklFeIzi
NumPy って Python の文法と関係ないよね。
254デフォルトの名無しさん
垢版 |
2018/08/01(水) 01:53:32.96ID:72rLPk7R
>>251
>最後の出力を(ユークリッド距離が20以下)がTrueの場合は、1つめの行列の対応する座標をコピー、Falseの場合は[0, 0]とする方法もありますかね?
できるけど、 そう言うコーディングはしない方がいいんじゃないかな。
1つ目の行列に[0,0]があったらバグるんじゃない?
2018/08/02(木) 19:19:53.22ID:q+cn5LDE
pyqt5、py2app を使って簡単なテキストエディタ作ってみたら
260MBとかアホみたいなサイズのアプリが出来たんだけど
設定とか工夫していけばサイズ小さくなるもの?
2018/08/02(木) 19:23:44.80ID:5ti5JZJP
そりゃPythonやPyQt自体を丸ごと突っ込んでるわけだからそんなもんだろ
細かいこと気にしだしたらC#でも使って作り直したほうが早いという結論にしかならないわけで、
気にしないのが一番
2018/08/02(木) 20:38:41.19ID:66RGm3Q9
260MB なんてアプリなら普通だろ。
2018/08/02(木) 20:54:48.15ID:WfKy2uJC
255だけど、パッケージの中覗いたら
本当にただ必要なもの詰め込んだだけなんだね
変な幻想を抱かないようにするよ、ありがとう!
2018/08/02(木) 20:57:45.42ID:2C0MEdgy
簡単なテキストエディタが260MBは普通じゃないだろ
普通はKBレベルを期待する
2018/08/02(木) 23:54:16.49ID:wJ6mpcYs
>>259
もうフロッピーの時代じゃないよ。
2018/08/03(金) 00:11:41.36ID:O3pKvN2V
1から6までのint が5つ入ったリストがあって
[1, 5, 6, 4, 3]みたいなのがたくさん

そのリストの中から5つともゾロ目のリストを判定する方法ある?
2018/08/03(金) 00:15:52.83ID:Sa3gTX9p
herokuとかの無料プランで遊ぼうと思っても思いのほか容量がかさんで困ることはあるな
2018/08/03(金) 00:16:18.89ID:A1dG3bsU
プログラム未経験者がPython学ぶには何から始めたら良いですか?
2018/08/03(金) 00:40:21.21ID:Av4Drx09
>>261
listA = [1,2,3,4,5,6]
listB = [1,1,1,1,1,1]
とする

素直な解法
all ([x == listA[0] for x in listA]) #False
all ([x == listB[0] for x in listB]) #True

なげやりな解法
len(set(listA)) == 1 #False
len(set(listB)) == 1 #True
2018/08/03(金) 01:36:49.87ID:lC8hG0JA
>>263
paizaラーニングの無料動画見てAOJの問題解いたり
2018/08/03(金) 02:18:42.18ID:jKYzpUKQ
>>264
setのやつはよく使う
ダブリの処理はこれが一番楽
2018/08/03(金) 11:07:06.64ID:yWVrcmYP
Pythonって、0.1を100回足しても誤差出ないのな
げすぇ
2018/08/03(金) 11:18:58.99ID:yWVrcmYP
いや勘違いだった
誤差出てたわ
まんそすん
2018/08/03(金) 12:15:00.41ID:V1yM7DW8
誤差を気にする金融系などではdecimal型を使う
270デフォルトの名無しさん
垢版 |
2018/08/03(金) 13:45:30.95ID:SxfGFWQF
>>> A = [1,2,3,4,5,6]
>>> B = [1,1,1,1,1,1]
>>> C = [0,0,0,0,0,0]
>>> M = lambda L: reduce(lambda a, b: (a[0] and a[1]==b, b), L[1:], (True, L[0]))[0]
>>> M(A)
False
>>> M(B)
True
>>> M(C)
True
2018/08/03(金) 13:55:16.98ID:RwupvFW0
分かり辛ぇw
2018/08/03(金) 13:59:30.99ID:LaSZsIIq
reduce久しぶりに見た気がする
2018/08/03(金) 14:14:56.63ID:mVd1VDRo
ヒント
隣との差が全てゼロ。
ゼロはブーリアンのコンテキストでFalse。
274デフォルトの名無しさん
垢版 |
2018/08/03(金) 16:08:26.14ID:ONmmuyPQ
"Removed reduce(). Use functools.reduce() if you really need it; however, 99 percent of the time an explicit for loop is more readable."
275デフォルトの名無しさん
垢版 |
2018/08/03(金) 16:22:09.21ID:SxfGFWQF
>>273
差の二乗を全部足せばいいのかな
2018/08/05(日) 15:18:50.50ID:lC8FCKmX
eval()の中ってスコープどうなってんだ?
関数ないでつかっても関数の引数が notfoundになるんだけど
2018/08/05(日) 15:40:20.48ID:6kqZ2+ag
https://docs.python.org/3.6/library/functions.html#eval
に書いてあるが、globals引数とlocals引数をどのように与えるかによって変わる
どちらも指定しなかった場合はglobals=globals(), locals=globals()
と同等になるので、関数スコープの変数にはアクセスできない
関数スコープの変数にアクセスしたいなら、localsにはlocals()を指定する
2018/08/05(日) 15:44:47.24ID:lC8FCKmX
>>277
それすると importしたmoduleが使えなくなりません?
2018/08/05(日) 16:40:46.04ID:6kqZ2+ag
試してから発言しろ
2018/08/05(日) 17:27:26.17ID:lC8FCKmX
eval(str, locals(), globals())でやるのな

locals()だけ指定してたわ、(^^ゞありがとう
2018/08/06(月) 19:24:16.27ID:I+j+/eN4
自作ライブラリmylibの中でimport numpy as npとしてた場合にこのmylibをimport mylib as mlとインポートすると
ml.と入力した時点でエディタ(Spyder)の補完機能でnpまで候補に出てくるのどうにかならない?
アンダーバー付けてプライベート扱いにすれば候補には出ないけど面倒臭い
2018/08/06(月) 22:09:24.63ID:D1O0dP1g
pip show モジュール名
でlocationのとこが格納されている所確認して
python開いて
import sys
print(sys.path)
でlocationのとこ出るんですけど
いざimport モジュール名やると
モジュールないよーって出る解決方法ありますか?
2018/08/07(火) 00:26:54.71ID:LnSY7891
Python勉強する上でこれはやっとけっての何?
Django、Kivy、OpenCVとか以外にどんなのが重要?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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