くだすれPython(超初心者用) その37

■ このスレッドは過去ログ倉庫に格納されています
2018/03/17(土) 16:32:25.91ID:S1lkLDnv
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その36
http://mevius.2ch.net/test/read.cgi/tech/1514805522/
2018/03/22(木) 16:53:47.05ID:8yaQ1Td9
>>48
ありがとうございます
ファイアウォールは切ってみてもダメでした
社内のPCを使っているのですが、ネットワークの知識もないのでどこが影響してるのかも追えなくてすいません…
2018/03/22(木) 18:42:33.32ID:/vagzVD7
配列aの要素が配列bにすべて含まれていればTrue、そうでなければFalseとしたい
配列a、bの要素数は可変(ただしlen(a)>=len(b))
また配列内で各要素は重複しない
例えば以下のような形です

#True
a=(1,2,3,4)
b=(2,1,3)
#False
a=(1,2)
b=(4,3)

こういうテストを大量に繰り返したいので、早い書き方を考えています

test=[num for num in a if num in b]
if len(test)==len(b)

みたいなのを考えてみたんですが、たぶんもっとスマートな方法があると思うので、教えてください
2018/03/22(木) 19:00:38.71ID:rLoCj1aX
>>50
aにないものが見つかったところでbreak→False判定 ってして
ループまわす
2018/03/22(木) 19:22:38.90ID:MSVR+REx
setにすれば集合演算が使える
2018/03/22(木) 19:59:16.77ID:RnvqqGyo
同じ配列に対して繰り返しその比較するならあらかじめソートしておくと良いことあるかもしれない。
2018/03/22(木) 20:38:40.26ID:RnvqqGyo
ん、繰り返さないとしてもソートしたほうが速いのか?
よくわからん…
55デフォルトの名無しさん
垢版 |
2018/03/22(木) 20:38:51.79ID:+AIswhSt
a,bをinで粛清せよ
56デフォルトの名無しさん
垢版 |
2018/03/22(木) 20:48:12.70ID:+AIswhSt
同士諸君、赤
2018/03/22(木) 21:17:50.10ID:rLoCj1aX
Happiness is Mandatory. Citizen,are you happy?
2018/03/22(木) 21:41:09.52ID:mUCyPZ6U
>>49
>社内のPC
会社のネットポリシーにひっかかって会社のファイアウォールがブロックしているんじゃないのか?
このせいで俺のところなんかでもアクセスできないところが色々ある
5chも行っちゃだめよだし
2018/03/22(木) 22:06:01.51ID:/EkTHIgP
>>51
よく考えたら内包表記でもifしたら速度出ないですね
これで試してみます
60デフォルトの名無しさん
垢版 |
2018/03/22(木) 22:14:23.56ID:+AIswhSt
要素が含まれてるか検知するのに、lenやifを使うなんて
頭が悪すぎる。

粛清せねば成らない。
61デフォルトの名無しさん
垢版 |
2018/03/22(木) 22:15:25.38ID:+AIswhSt
ifは必要だ
2018/03/22(木) 22:17:04.96ID:+wYf8aa1
おまえは何をいっているんだ
2018/03/22(木) 22:17:06.65ID:RnvqqGyo
んあ、パイソンってループより内包表記のほうが速いってマジ?
2018/03/22(木) 22:23:11.07ID:+wYf8aa1
内包表記でリストを作る場合は専用命令を使うので、微々たる物だが速くなる
2018/03/22(木) 23:35:44.33ID:q/Ja7+Ba
>>50
> 配列aの要素が配列bにすべて含まれていればTrue
> 例えば以下のような形です
> #True
> a=(1,2,3,4)
> b=(2,1,3)

???
4が配列bに含まれていないようだが?
なぜにTrue???
66デフォルトの名無しさん
垢版 |
2018/03/23(金) 00:03:52.46ID:qUw1cRZJ
え?
2018/03/23(金) 00:22:49.84ID:i31Fn5mw
うーんまあ
配列aの要素が配列bの要素をすべて含んでいる場合
あるいは
配列bの要素が配列aにすべて含まれている場合
と書くのが正確ね
2018/03/23(金) 00:53:01.08ID:0pO3RnAr
>>65
このスレの質問者は超低脳が多い。
そんな奴の質問は辻褄が合うことはあまりない
そんなもんだから回答者は真の質問を見抜ける高脳でないと駄目

len(a)>=len(b)なら、配列aの要素が配列bにすべて含まれている可能性あるのは....
2018/03/23(金) 00:57:09.20ID:0pO3RnAr
>>67
a,bが逆になっているだけじゃないのか
70デフォルトの名無しさん
垢版 |
2018/03/23(金) 04:01:48.52ID:NfdpbbfG
誰かアプリ作れる人いませんか?
71デフォルトの名無しさん
垢版 |
2018/03/23(金) 07:22:27.94ID:qUw1cRZJ
このスレでアプリ作れるのは俺くらいのもんだろ
2018/03/23(金) 11:51:11.90ID:L1wsKiud
pythonでアプリ(実行ファイル)作るのは難しいよな
俺もスクリプト作るのが限界だわw
2018/03/23(金) 12:22:07.12ID:kM32haS5
わざわざ()してくれたとこ悪いんだけど.pyも実行ファイルなんだよね
2018/03/23(金) 12:33:36.05ID:dRbnJSq+
Windowsみたいなオモチャだと難しいよなw
2018/03/23(金) 18:11:07.27ID:OUYN8NdW
class NewClass:
hoge = "hoge"

class NewClass:
def __init__(self):
self.hoge = "hoge"
この2つに違いってありますか?
76デフォルトの名無しさん
垢版 |
2018/03/23(金) 18:43:03.09ID:GtydX90K
あるよ
77デフォルトの名無しさん
垢版 |
2018/03/23(金) 19:37:01.46ID:ZnDm/A5o
>>64
それってジェネレータに勝てるの?
2018/03/23(金) 19:42:15.36ID:OUYN8NdW
>>76
なるほど継承するときに違いが出るということですね
ありがとうございました
79デフォルトの名無しさん
垢版 |
2018/03/23(金) 21:21:46.68ID:9yghwvRE
>>78
違うよ
2018/03/23(金) 21:50:35.83ID:cWFdcGfI
こうかな?

class A:
hage="hage"

class NewClass:
hoge=A()

a=NewClass()
b=NewClass()

b.hoge.hage="huga"

print(a.hoge.hage)
print(b.hoge.hage)

class NewClass2:
def __init__(self):
self.hoge=A()

a=NewClass2()
b=NewClass2()

b.hoge.hage="huga"

print(a.hoge.hage)
print(b.hoge.hage)
2018/03/24(土) 00:06:55.67ID:ua0H29LU
>>80
なるほどコンストラクタ外に記述したプロパティは参照するたびに更新されるということですかね
ありがとうございました
2018/03/24(土) 00:26:27.77ID:6+fQqcMh
えぇ…
2018/03/24(土) 01:02:21.46ID:M254L+Kv
コンストラクタってどれのことを言っているんだろ
ダンダーinitのことかな?
2018/03/24(土) 01:36:03.13ID:ua0H29LU
なるほどクラス変数とインスタンス変数の違いですかね
これが別物だということを分かっていませんでした
ありがとうございました
2018/03/24(土) 03:51:20.06ID:5DHcZkrY
リストの2次元配列に文字列をappendしていきたいのですが、
完全に空な2次元リストはどのように宣言すればいいんですか?

arr = [[]]
arr.append("apple")
arr.append("hage")
とすると
[[],[apple],[hage]]
となってしまいます

[[apple],[hage]]というリストを作りたいです
2018/03/24(土) 04:12:14.60ID:DtiNFwiJ
リストにリストを持たせたければ
リストをappendするしかないんじゃないか

>>> arr = []
>>> arr.append(['apple'])
>>> arr.append(['hage'])
>>> arr
[['apple'], ['hage']]
2018/03/24(土) 04:14:39.51ID:SVLgN11o
arr = [[] for _ in range(2)]
2018/03/24(土) 04:19:39.81ID:SVLgN11o
あとは arr[0] と arr[1] にappendすればOK
89デフォルトの名無しさん
垢版 |
2018/03/24(土) 09:20:52.26ID:3cN93bef
2次元配列じゃなくて配列の配列だけどな。
2018/03/24(土) 14:39:47.54ID:1M7APlB/
>>85
です
ありがとうございます出来ました
2018/03/24(土) 14:45:04.21ID:iVzkwtpj
.pyをexe形式する方法有るケドな
2018/03/24(土) 17:35:00.31ID:CjNpxR1+
Mac用アプリにも出来る
2018/03/24(土) 21:02:13.48ID:6+fQqcMh
Linux上で動いてるパイソンコード(ライブラリ等も含めて)をWindows exeにする方法ってありますか?
2018/03/24(土) 21:13:03.17ID:qA6u9GtS
お前には無理
2018/03/24(土) 21:42:22.06ID:OpmPJ6Nw
Pythonにmain関数はないの?
2018/03/24(土) 21:48:08.73ID:dZ11fZcx
winexe.jar
2018/03/24(土) 21:50:51.20ID:CjNpxR1+
Linuxは全然分からないけど、windowsとかMACのモジュールと同じモジュールでも動くならあるよ
2018/03/25(日) 02:06:35.44ID:vGx9Wf9w
>>93
pythonコードをLinux上でwinのexeに変換するプログラムはあるんじゃないのか。
これの需要はかなりありそうだし
ただ、WinにはないLinux独特の機能を使っているコードだとだめだろうが。
2018/03/25(日) 14:03:56.05ID:ydE12e/a
UbuntuのB shellでワンライナーで実行したいんですけど、
文字列をprintしようとすると変数と解釈されてしまうみたいでエラーが出てしまいます。
整数だったらエラーにならないんですが...
どうすればいいのでしょうか?

python -c "print("aaa")"

Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'aaa' is not defined


python -c "print("1")"
1
2018/03/25(日) 14:05:23.73ID:WaYZZq21
python -c 'print("aaa")'
2018/03/25(日) 14:05:55.21ID:ydE12e/a
>>99
すみません
自己解決しました
シングルクオートにしたらできました
102デフォルトの名無しさん
垢版 |
2018/03/25(日) 14:06:16.39ID:ydE12e/a
>>100
ありがとうございました
2018/03/25(日) 23:15:11.80ID:DaTr1DzF
for を使って単純な足し算引き算を10億回の処理したら、皆のPCならどれくらいの時間かかる?
2018/03/25(日) 23:33:31.13ID:DaTr1DzF
>>103
ごめん、計算する数値は1億桁で
2018/03/25(日) 23:52:02.81ID:R2VPlajs
そんなこと聞いてどうする。言語の違いでもそんなの意味ないのに。
2018/03/26(月) 00:15:48.82ID:HKDZDkOJ
知りたいから聞く

ダメか?
2018/03/26(月) 00:18:27.51ID:mhu6xXG+
いやこのスレ的に python の long の性能の話だろ多分
2018/03/26(月) 01:51:48.59ID:KvFIiPGN
いいんじゃねーの聞くくらい
俺はやらないし答えないけど
109デフォルトの名無しさん
垢版 |
2018/03/26(月) 05:05:05.33ID:OxsjGzhh
普通の知能持ってる人は対数使う
110デフォルトの名無しさん
垢版 |
2018/03/26(月) 07:13:54.70ID:WZ1ZCWjW
つまり天才は対数使わない。
111デフォルトの名無しさん
垢版 |
2018/03/26(月) 07:16:38.08ID:xZZfGuVF
>>109
若宮正子さんも対数使っているのかな?
2018/03/26(月) 08:33:11.81ID:ipWiSu89
while ture でループ中に計算してだした値をリストに入れて次のループでもそのリストを使いたいんだがどうするんですか?
例えば[1] [1,1] [1,1,1] とループで表示していきたいとき

while true:
list=[]
list.append(1)
print(list)
time.sleep(5)

ってやってもずっと[1]が表示され続けるんですが
2018/03/26(月) 08:36:59.62ID:u5mr1n2+
>>112
そりゃ毎回list作り直してるからな
> list=[]
をループ外に出せばいい
2018/03/26(月) 08:41:48.81ID:ipWiSu89
>>113
迅速なご回答ありがとうございます!
2018/03/26(月) 10:39:10.61ID:ULwk/4nL
半年前からC#を始めて、最近pythonの勉強も始めました
今は参考書を見ながら基本文法を勉強しているのですが、何か形にしてイメージを掴みたいなと思っています
みなさんが勉強する時に参考にしたアプリや、これを作ってみろ、というような物がありましたら是非教えてください
116デフォルトの名無しさん
垢版 |
2018/03/26(月) 11:08:23.56ID:Uam8iqco
scratch
2018/03/26(月) 11:10:21.19ID:yutowq4u
https://www.amazon.co.jp/dp/4800711657
http://bibinbaleo.hatenablog.com/entry/2017/07/08/173710
http://ichibariki.hatenablog.com/entry/2017/05/03/184753
https://qiita.com/noanoa07/items/19d9d83867d2226c76c8
https://www.timeless-education.com/five-steps-to-start-python-programming-in-minecraft-2607.html
118遊園地-24
垢版 |
2018/03/26(月) 12:11:08.82ID:wYtYQOPu
GUI部分をC#
3目並べをモンテカルロ or ミニマックス法 python

受け渡し実装
119遊園地-24
垢版 |
2018/03/26(月) 12:16:16.01ID:wYtYQOPu
古典的に分かり易い
ミニマックス法が良いんじゃね?[不明]

嫌なら、ネガマックス法とか
かな
120遊園地-24
垢版 |
2018/03/26(月) 16:51:46.83ID:wYtYQOPu
遊園地の為のURL
http://ustimaw.hatenablog.com/entry/2014/12/14/081423

メモ
2018/03/26(月) 21:12:37.13ID:ujJRTdDM
他人の押し付けより自分が一番興味あることを言ってみろ
それに関連するものをやればいい
2018/03/26(月) 21:29:58.56ID:PunXNe2v
これ作ってみ?
http://connect4.gamesolver.org/?pos=
2018/03/27(火) 13:32:18.34ID:ZLXZGkXc
class A,B,Cを継承したMainクラス内でそれぞれをsuper()するとき
(MAIN,self) (A,self) (B,self)となるのはどうしてなんですか
すごい気持ち悪いんですが、どうにかなりませんか?
124デフォルトの名無しさん
垢版 |
2018/03/27(火) 15:46:36.73ID:7pnb7M0m
明示的は暗黙的より優れています
2018/03/27(火) 16:59:12.46ID:ZnJBL61E
Guido の重要な洞察のひとつに、コードは書くよりも読まれることの方が多い、というものがあります。
2018/03/27(火) 17:03:14.16ID:1GrWb10a
あ、いや、明示とか可読性の話じゃなくて
なんでsuper(A)~(C)じゃないのか、という疑問です
2018/03/27(火) 18:25:55.89ID:PajNg8Dj
開発者に聞いてこい
開発者の気持ちを答えなさいって国語の教師気取りかテメーはよ
2018/03/27(火) 20:32:11.17ID:AF1pc4aA
多重継承したらいかんよ、という暗黙戒め
2018/03/27(火) 20:48:27.46ID:SJRVUf0s
プログラマに文系が歓迎される理由が>>127のおかげでわかった
2018/03/27(火) 23:30:39.85ID:88y58jW2
エクセルソルバーのGRGみたいな非線形最適化制約有りをやりたいんだけど、Pythonでできる?
2018/03/28(水) 00:00:14.22ID:GSIqg02F
俺らに気持ちを悪さを>>123から読み解けだからな
文系なら、
>>123からなぜ気持ち悪いかがわかるし、どう何とかしても当然わかるんだろうな。
でも、理系だと無理で、>>126のような大補足が必要なんだろうな
理系だと手間がかかるからプログラマに文系が歓迎されるわけだ

>>123はPython開発者の気持ちを分かったうえで>>123なのかな
2018/03/28(水) 00:37:51.86ID:29gqJ3C5
いや単純に、superは引数の親クラスを呼んでくるということがわかってないために違和感生じてるんじゃないか
引数で指定したクラスの中身がそのまま使えるみたいな感覚でおるんでは?
2018/03/28(水) 00:46:45.55ID:3+G1HR/o
他の言語を色々やって、その経験からPythonはすごい気持ち悪いんですがなんじゃないのか?
2018/03/28(水) 02:14:08.09ID:817KgWeW
>130
scipy.optimize
を使ったらできるんじゃないかな
2018/03/28(水) 02:27:45.00ID:jH5P0ocQ
Pythonごときで気持ち悪いとか言ってる人は、Haskellみたら制約多過ぎて即死するだろうなw
2018/03/28(水) 07:14:12.27ID:ooTjeloS
>>134
ありがとうございます、やってみます
2018/03/28(水) 07:25:24.29ID:1/4U3eU2
>>135
気持ちのいい制約っていうのが大事なんだよ
138デフォルトの名無しさん
垢版 |
2018/03/28(水) 07:55:50.50ID:WKkXmrtt
>>137
いいですね、気持ちのいい緊縛
2018/03/28(水) 14:46:32.18ID:TfqKuNVG
最近出たオライリーのHead First Python
第2版は買いですか?
2018/03/28(水) 15:32:48.18ID:wWS6mS4+
Foot Last Pythonが出るまで待ちです。
2018/03/28(水) 18:44:07.37ID:c16Hwi83
Head Firstは人を選ぶから自分で判断しなさい
俺はデザインパターンのを買ったが5ページで挫折した
あのノリにはついていけん
142デフォルトの名無しさん
垢版 |
2018/03/28(水) 20:36:48.44ID:m/YBLUNl
Hip Middle Python
は、いつ出ますか?
尻好きの私は待ち遠しくてたまりません。
2018/03/28(水) 21:07:18.06ID:zdJ231FE
Head Firstは意識高い系な雰囲気が嫌い
Java系ばっかだと思ってたがPythonも出てんのね
2018/03/30(金) 15:05:36.16ID:jcL5BjSg
python2.xと3.xを同居させられないの。
#ifdef(PYTHON3)
print('world')
#else
print 'world'
#endif とか。
2018/03/30(金) 15:29:09.19ID:pqp5DZ1s
>>144
__future__ で両対応せよ
2018/03/30(金) 15:41:59.16ID:LJCUuJpX
>>144
sixていうライブラリが便利
2018/03/30(金) 15:49:21.37ID:Ll1emnsv
threading.Threadのrunにwin32com入れるにはpythoncom.CoInitialize()が必要というのは調べてわかったのですが、なぜこれが必要なのかわかりません
どなたかお教えいただければ幸いです
2018/03/30(金) 17:43:53.70ID:FxYI+k+J
>>147
Win32 というか COM 自体がスレッド毎に CoInitialize が必要だから
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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