Pythonのお勉強 Part55

■ このスレッドは過去ログ倉庫に格納されています
2017/12/22(金) 14:15:47.03ID:8mUBEZUB
Pythonオフィシャルサイト
http://www.python.org/

テンプレ等は2以降で

■前スレ
Pythonのお勉強 Part54
http://mevius.5ch.net/test/read.cgi/tech/1504251887/
638デフォルトの名無しさん
垢版 |
2018/02/03(土) 05:09:27.40ID:pNC8Ba1v
pyqtにmatplotlibのグラフを表示

wxなら簡単
2018/02/03(土) 09:01:44.36ID:VDMdY/mi
>>637
まるで意味がわからない…
2018/02/03(土) 13:31:39.02ID:tdjDlyEs
>>631
お前も死ね
641デフォルトの名無しさん
垢版 |
2018/02/03(土) 14:09:01.94ID:jcEuZ+bz
>>639
わからないならレスしないでくださいうざいだけです
2018/02/03(土) 15:23:46.45ID:3J9RZTRr
>>636
matplotlib qt4agg
とかで検索すると幸せになれるかもしれない
2018/02/03(土) 15:26:24.05ID:3J9RZTRr
>>638
wxaggもqt4aggもmatplotlibの表示先を変えるための実装なので、殊更wxの方が簡単なわけではないと思うけど。
2018/02/03(土) 15:50:24.47ID:LmM6Jde2
>>641は意味わかるの?
俺はさっぱりなんだが。
645デフォルトの名無しさん
垢版 |
2018/02/03(土) 16:59:49.58ID:TW07+iIs
漏れは判らん時は無視してる
646愛知人
垢版 |
2018/02/03(土) 17:12:24.52
普通に解るが
2018/02/03(土) 17:51:24.99ID:8pdQs/78
荒らしに構う阿呆も荒らし
2018/02/04(日) 17:54:48.26ID:ie1wCEAo
https://www.tutorialspoint.com/pyqt/pyqt_qclipboard.htm
ここのexampleのソースコードさがしてるんだけど、このサイトのどこかにありますか?探しても見つからない。
これと同じものが書ければ解決なんですが
2018/02/04(日) 18:15:08.13ID:F/J6Xayo
https://www.tutorialspoint.com/python/python_useful_resources.htm
https://www.tutorialspoint.com/python3/python_useful_resources.htm
https://www.tutorialspoint.com/python_pandas/python_pandas_useful_resources.htm
2018/02/06(火) 01:47:55.47ID:4qlhSHmu
Numpyで二つの一次元配列を要素順(縦方向)に比較して何個一致してるか計算したいのですが、
どうしたら良いのでしょうか?どなたかご教授お願いします。

[1,2,3,4,5]
[1,2,3,5,4]

この場合1,2,3が一致してるので、一致率は6割。
こんな感じの計算をしたいのです。
2018/02/06(火) 02:25:49.31ID:4s/KmnsS
>>650
なんか自分ではやりたくない宿題・課題を俺らにやらせようって感じを受けるんだが...
>どうしたら良いのでしょうか?
日本語でそれをやる手順を書けるのか?
実はそれすらわからないのか? こうなるとPython以前のことになる
2018/02/06(火) 02:38:58.35ID:4qlhSHmu
荒らしは煽りはご勘弁くださいm(_ _)m
2018/02/06(火) 02:44:52.03ID:4qlhSHmu
宿題じゃなくて自主的に勉強してます。
煽りはやめて><
2018/02/06(火) 03:28:55.30ID:1XqIXLfE
でもお前勉強してないじゃん。
2018/02/06(火) 03:33:07.91ID:4qlhSHmu
自分なりに頑張って勉強してます。
調べてもよくわからなかったので質問させて頂きました。
煽り耐性がないのでマジで凹みます。
本当に煽りはやめてください。。。
2018/02/06(火) 04:03:14.49ID:6Ikfm20h
まさか、まったくわからないわけではないだろう
どういうアプローチがあると考えて、それはどうしてうまく行かなかったのか書いてみて?
2018/02/06(火) 04:23:43.40ID:4qlhSHmu
ifとforで一個一個比較して一致したものをカウントするという原始的な方法なら思いついたのですが
配列の要素が数十万とかになると計算に凄く時間がかかりすぎて自分はおかしな事をしてると思いました。
Numpyを使えばもっと早く計算できるのではないかと思ったのです。
Numpyで配列同士を除算して1になったものをカウントするという方法も考えましたが
何かもっとよい方法があるのではないかと思って質問するに至りました。
2018/02/06(火) 04:49:55.16ID:l7KCE7ID
>>657
>>650と話変わってないか?
>>650は要素数5つのリストで,どうしたら良いのでしょうか?(さっぱりわかりませんな感じ)
>>657では実はifとforで一個一個比較する方法でなら出来た(?)、でも、その方法だと
要素が数十万とかになると計算に凄く時間がかかりすぎるから何か時短できるやり方はない?
2018/02/06(火) 04:52:04.56ID:4qlhSHmu
>>658
すいません。
言葉足らずでした。
2018/02/06(火) 08:32:31.23ID:DKsNWAcY
考え方は別に間違ってないと思うけど、なぜ最後までやってみてから検討しないのか

a=比較対象のリスト1
b=比較対象のリスト2
c=a-b #一致する箇所だけ数値が0になる
count=len(np.where(c==1)[0]) #0の数をカウント
par=count/len(c)*100 #割合を求める
2018/02/06(火) 09:57:23.13ID:AHbr4rI2
>>660
うわぁ〜、すげぇアホなやり方
2018/02/06(火) 10:09:01.65ID:4qlhSHmu
>>660
ありがとうございます。
考え方は間違ってなかったんですね!
そのコードを使わせていただきます。
663デフォルトの名無しさん
垢版 |
2018/02/06(火) 10:10:16.24ID:HnlXhHfV
行列にする
aは
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
になる
bは
aは
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 0 5
0 0 0 4 0
になる
線形代数使って対角線を一発で判断
664デフォルトの名無しさん
垢版 |
2018/02/06(火) 10:12:03.78ID:HnlXhHfV
bは
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 0 4
0 0 0 5 0
かな
まあがんがれ
2018/02/06(火) 10:24:10.70ID:4qlhSHmu
>>663
線形代数!?
勉強したことないので勉強してみます。
ありがとうございます。

行列にする分、メモリは食いそうですが
速度は早くなるんでしょうか?
2018/02/06(火) 10:25:47.78ID:4qlhSHmu
やっぱ機械学習や、時系列扱う場合線形代数は必須ですよね。。。
2018/02/06(火) 10:54:41.09ID:AHbr4rI2
>>> import numpy as np
>>> from itertools import zip_longest
>>>
>>> a = [1,2,3,4,5]
>>> b = [1,2,3,5,4]
>>> np.mean([v1==v2 for v1,v2 in zip_longest(a,b)]) * 100
60.0
>>>
>>> import random
>>> c = [random.randrange(1,10) for _ in range(random.randrange(5,10))]
>>> d = [random.randrange(1,10) for _ in range(random.randrange(5,10))]
>>> np.mean([v1==v2 for v1,v2 in zip_longest(c,d)]) * 100
25.0
>>>
>>> c
[1, 1, 5, 2, 8]
>>> d
[1, 2, 7, 2, 9, 5, 1, 1]
>>>
2018/02/06(火) 11:09:26.24ID:4qlhSHmu
>>667
配列の要素数が違っても比較できるんですね。
ありがとうございます。
勉強させていただきます。
669遊園地
垢版 |
2018/02/06(火) 11:10:04.68ID:dkDe9DfL
動的に処理すればメモリは食わない。
比較して、どういうデータが欲しいのか謎

データ形式はリスト(配列)に1つの値しか入って無い前提で良いの?
670遊園地
垢版 |
2018/02/06(火) 11:17:31.07ID:dkDe9DfL
既に解決してるだろうけどw

>>650
a=[1,2,3,4,5]
b=[1,2,3,5,4]

c=list(zip(a,b))

d=0
for i in c:
____if int(i[0])==int(i[1]):
________d+=1

print(d/len(c)*100)
2018/02/06(火) 11:23:03.09ID:4qlhSHmu
>>669
そういうものなんですね。メモリは食わないんですか!
比較して何個一致してるか。何%一致してるかを知りたいだけです。
要素数が数十万入った場合も想定して
とにかく今は速度を最優先に考えております。

データはリスト内に1つの前提で構いません。
2018/02/06(火) 11:31:28.71ID:4qlhSHmu
>>670
いくつか解決策は見つかりましたが
色々なコードを見られるのは勉強になります!
673遊園地
垢版 |
2018/02/06(火) 11:37:05.42ID:dkDe9DfL
ってかw 一行で書けるのかww

地道にfor文回して行く方法しか思い付かない
674デフォルトの名無しさん
垢版 |
2018/02/06(火) 12:58:07.14ID:HnlXhHfV
>>665
比較や条件分岐がなくなると爆高速になる
2018/02/06(火) 13:06:04.52ID:M2Zv4/uX
この種の処理ってcount_ifがあれば簡単にかけるんだよなあ
pythonにも標準であればいいんだが
https://gist.github.com/anonymous/6ae75c5dcd6767055005d6d771ef9edd
2018/02/06(火) 13:20:28.81ID:oUdjyrC/
こうじゃね
a = np.array([1, 2, 3, 4, 5])
b = np.array([1, 2, 3, 5, 4])
np.sum(a == b) / a.size
2018/02/06(火) 13:36:32.07ID:4qlhSHmu
>>674
そういうものなんですね。
ありがとうございます。頑張ってみます!

>>675
ありがとうございます。
関数を作ってくれたんですね!
コードを勉強させていただきます。

>>676
おぉ。凄くシンプルですね。
Numpyを使うとこんなシンプルにコードが掛けけるんですね?
ありがとうございます。
2018/02/06(火) 14:12:55.44ID:DKsNWAcY
>>676
ああ、これがいいな
679遊園地
垢版 |
2018/02/06(火) 15:40:07.54ID:dkDe9DfL
そして、最後にこう言おう
 かける 100 !!!
2018/02/06(火) 16:30:50.21ID:AHbr4rI2
>>676?シンプルだよね。可読性、処理速度、隙が無いと思うよ。だけど、おいら負けないよ。
えー、か、改良版が躍動する処理速度を皆さんに見せたいね。
>>> import time, random; import numpy as np; from itertools import zip_longest
>>> def oree(a,b):
____same = [True for v1,v2 in zip_longest(a,b) if v1==v2]
____return sum(same)/max(len(a), len(b)) * 100

>>> def omae(a,b):
____a = np.array(a)
____b = np.array(b)
____return np.sum(a==b) / a.size * 100

>>> oree([1,2,3,4,5],[1,2,3,5,4])
60.0
>>> def timer(func, *args):
____start = time.time()
____r = func(*args)
____end = time.time()
____print(f'{func.__name__} time = {end - start:.5f}, return = {r:.5f}')

>>> def test(func1, func2):
____a = [random.randrange(1,200) for _ in range(1000000)]
____b = [random.randrange(1,200) for _ in range(1000000)]
____timer(func1, a, b); timer(func2, a, b)

>>> test(oree, omae)
oree time = 0.04913, return = 0.50930
omae time = 0.10629, return = 0.50930
>>> test(oree, omae)
oree time = 0.05014, return = 0.49830
omae time = 0.09525, return = 0.49830
681デフォルトの名無しさん
垢版 |
2018/02/06(火) 17:27:43.34ID:b1TJyJgg
sum(same) は len(same) より速いのか
2018/02/06(火) 17:43:13.98ID:b1TJyJgg
>>> def oree2(a,b):
____same = [1 for v1,v2 in zip_longest(a,b) if v1==v2]
____return len(same)/max(len(a), len(b)) * 100

こっちが勝った
683遊園地
垢版 |
2018/02/06(火) 19:33:44.11ID:dkDe9DfL
速度は環境によって違うのでは?
今回の場合は、要素数が少ないからインポートせずに単純な文章で回した方が早い

https://ideone.com/nFzAeB

0.02s 27720KB
684遊園地
垢版 |
2018/02/06(火) 19:38:44.29ID:dkDe9DfL
っと 思ったけど、import time挟んだら、実際の測定は遅いだなw
https://ideone.com/vN3ZZN
2018/02/06(火) 19:44:00.26ID:AHbr4rI2
>>657
>Numpyを使えばもっと早く計算できるのではないかと思ったのです。

今のところ使わない方が速い その差約2倍!
array化するのに時間かかるからね array化済みならnumpyが爆速だけど
速度アップのためにとわざわざarray化すると遅くなるわけよ
2018/02/06(火) 20:30:18.40ID:6Tuhkz2p
>>685
その差2倍って大きいな
やっている処理は激しく単純で時間かからにかもしれないが
実は前処理のarray化に時間が掛かっている可能性あるよな

こんなのはリストを複数部に分けて、それをマルチスレッドでやったほうが良いような感じがするが
2018/02/06(火) 20:39:48.44ID:6Tuhkz2p
ちょっとどうなるかやってみた結果
omae time = 0.11590, return = 0.50740
oree time = 0.04688, return = 0.50740
oree2 time = 0.05340, return = 0.50740
yuenchi time = 0.06901, return = 0.50740

array化して処理したomaeは>>683の超ストレートなやり方(yuenchi)にすら負けている
688デフォルトの名無しさん
垢版 |
2018/02/06(火) 20:42:15.54ID:Yjdsw3bo
リストの要素数5個で比較したらそんなもんでしょ。
5個ならNumpy使う必要ない。

もっと要素数を増やして比べてみたら?
2018/02/06(火) 20:52:22.26ID:6Tuhkz2p
>>680の時間測定はリストの要素数5個で比較だったのか...
要素数5個の処理にこんなに時間かかるって、PCが激遅い、Pythonが激遅い
またはその両方が激遅いだな。
2018/02/06(火) 21:22:17.52ID:AHbr4rI2
いや、、見ての通り要素数は100万個なんだが・・
691デフォルトの名無しさん
垢版 |
2018/02/06(火) 21:24:46.21ID:akwhBP1m
俺レベルだと20マンコがいいとこだな
100マンコとかうらやましくもあり
2018/02/06(火) 21:51:36.30ID:aB1vC+tG
9999マンコの次でいい
2018/02/06(火) 22:24:44.53ID:4qlhSHmu
>>685
そうなんですか!
CSVを読み込む場合はどうなんでしょうか?
2018/02/06(火) 22:33:40.32ID:4qlhSHmu
>>680
おもしろい実験ですね。
2018/02/06(火) 23:29:51.59ID:AHbr4rI2
>>693
どうなんでしょ?ってどういうこと? numpyから読み込めばarray型で取得できるみたいだよ
ファイルからの読込含めて処理速度がどなるかってこと?
どうなんでしょうね?ファイル読込速度が同じなら当然oree2が最速だろうし、
np.loadtxtのファイル読込速度が爆速なら巻き返せるし・・
おもしろ実験やってみてください!

>>> import numpy as np
>>> data = np.loadtxt('test.csv',delimiter=',')
>>> data
array([[ 1., 2., 3., 4., 5.],
[ 1., 2., 3., 5., 4.]])
>>> a = data[0]; b = data[1]
>>> np.sum(a==b) / a.size * 100
60.0
>>>
>>> from itertools import zip_longest
>>> import csv
>>> with open('test.csv') as f:
____reader = csv.reader(f)
____data = [row for row in reader]
____a = data[0]; b = data[1]
____same = [1 for v1,v2 in zip_longest(a,b) if v1==v2]
____len(same)/max(len(a), len(b)) * 100


60.0
>>>
2018/02/06(火) 23:47:01.69ID:hBAgagno
>>636
Pyqtで最近測定プログラム作った
Matplotlib使った方が見た目綺麗だけど、pyqtgraphの方が軽いし、速さの追求ができる
2018/02/07(水) 01:10:46.36ID:IL95H+4W
>>695
>どうなんでしょ?ってどういうこと?
僕は何もしませんから、僕の代わりにCSVを読み込で行う場合の
numpy版と非numpy版での実評価・考察をしてクレクレと言うことだろう
2018/02/07(水) 01:42:47.04ID:+vEZBiPj
>>696
そうなのか...
シミュレーション結果を折れ線グラフにするだけだから,グラフパッケージにこだわりはないんだよね
問題は,そもそもpyqtの構造を理解できていないというところなんだ...
なんちゃってで出来るかと思ったんだけど...また挑戦しようと思います
2018/02/07(水) 04:20:33.93ID:at73gTvw
NumPyが遅かったらCuPy使えばいい
Pythonが遅かったらCython使えばいい
2018/02/07(水) 05:15:50.77ID:LQaGrglb
Ruby で作った。
count で、ブロックの戻り値が真のものを数える

aryA = [1, 2, 3, 4, 5]
aryB = [1, 2, 4, 3, 5]

count = aryA.each_with_index.count { |num, idx| num == aryB[idx] }

puts count / aryA.length.to_f #=> 0.6
701デフォルトの名無しさん
垢版 |
2018/02/07(水) 05:25:44.37ID:Hq6Q+E3d
>>680 >>695
oreeは一致率10%未満の時しか速くならない
2018/02/07(水) 09:30:03.39ID:CV7OvREn
>>700
それだったらzip使ったほうがきれいなような

count = aryA.zip(aryB).count { |i, j| i == j }
2018/02/07(水) 09:54:53.38ID:ja4qLQ3J
RailsのDSLの話はRailsスレでやれ
2018/02/07(水) 10:10:37.19ID:mhmm9auu
平等な条件を用意してこうするべきだと思う

>>> import time, random; import numpy as np; from itertools import zip_longest
>>> def oree(a,b):
same = [True for v1,v2 in zip_longest(a,b) if v1==v2]
return len(same)/max(a.size, b.size) * 100

>>> def omae(a,b):
return np.sum(a==b) / a.size * 100

>>> def timer(func, *args):
start = time.time()
r = func(*args)
end = time.time()
print(f'{func.__name__} time = {end - start:.5f}, return = {r:.5f}')

>>> def test(func1, func2):
a = np.array([random.randrange(1,200) for _ in range(1000000)])
b = np.array([random.randrange(1,200) for _ in range(1000000)])
timer(func1, a, b); timer(func2, a, b)
a = np.array([_ for _ in range(1000000)])
b = np.array([_ for _ in range(1000000)])
timer(func1, a, b); timer(func2, a, b)

>>> test(oree, omae)
2018/02/07(水) 10:17:04.97ID:mhmm9auu
>>781
a = [random.randrange(1,10) for _ in range(1000000)]
b = [random.randrange(1,10) for _ in range(1000000)]
これするだけでも全然逆になるよね
706デフォルトの名無しさん
垢版 |
2018/02/07(水) 13:34:45.29ID:3kZshcC8
https://ideone.com/9BD0zR

2.46s 98516KB
2018/02/07(水) 14:57:07.64ID:DnkryU09
>>698
それなら、なおのことpyqtgraphの方がいいかも
僕は実験系だから、装置のコントロールとかも含めてPyqtでGUI作って、リアルタイムプロットを埋め込んだけど
シミュレーション中に何かのタイミングで描き出すとか最後に描き出すなら、pyqtgraphの方が呼び出しが楽だと思う

とりあえずpyqtgraphとpyqtかpysideインスコして、
import pyqtgraph.examples
pyqtgraph.examples.run()
やってみ

サンプルコードが出てくるし、pyqtを露わに使わなくて良いので、コードも書きやすいと思う
2018/02/07(水) 16:07:52.51ID:bLqJ09hb
a = [random.randrange(1,200) for _ in range(10000)]
b = [random.randrange(1,200) for _ in range(10000)]
print(np.linalg.matrix_rank(np.diag(a) - np.diag(b)) / a.size * 100)
2018/02/08(木) 14:42:46.64ID:Ia7szBUl
皆さん、相談させてください。
魔方陣を5個吐き出すプログラムを作ったのですが、

import random

abc=[1,2,3,4,5,6,7,8,9]
count=0
while count<5:
____random.shuffle(abc)

____if abc[0]+abc[1]+abc[2]==15 and abc[3]+abc[4]+abc[5]==15 and abc[6]+abc[7]+abc[8]==15\
and abc[0]+abc[3]+abc[6]==15 and abc[1]+abc[4]+abc[7]==15 and abc[2]+abc[5]+abc[8]==15\
and abc[0]+abc[4]+abc[8]==15 and abc[2]+abc[4]+abc[6]==15:
________print(abc[0],abc[1],abc[2])
________print(abc[3],abc[4],abc[5])
________print(abc[6],abc[7],abc[8])
________count=count+1
________print(count)
________print("------")

同じ魔方陣を重複して出力してしまう事があります。
これを解決する方法はありませんか?
そもそもランダムで並び替えするって発想自体が邪道なんですかね。
僕は最近Pythonを初めた初心者です。
アドバイスお願いします。
710デフォルトの名無しさん
垢版 |
2018/02/08(木) 15:22:05.43ID:N5nowZC0
random.shuffleをやめてpermutationを使う
711遊園地
垢版 |
2018/02/08(木) 15:40:37.72ID:Er5ZpABn
魔法陣では無く、
ヒンズーの連続方式です。

縦、横、斜め 全て合計が同じ


一番上の行の一番真ん中に"1"を書きます。
これは奇数x奇数の魔方陣ではどれも同様

斜め右上に数字を書いて行き、ぶつかったら一つ下がるということを繰りかえす


http://d.hatena.ne.jp/shuu33jp/20140423/1398250961
2018/02/08(木) 15:47:06.06ID:Ia7szBUl
>>710
ありがとう。
ググってみたけどshuffleと違いがわからなかったです。
どのように使うのですか?
もう少しヒントを下さい。。。

>>711
ありがとう。
そのルールは知ってたのですが、
並び替えして力技でいったほうがコードが簡単そうなので>>709の様なコードになってしまいました^^;
2018/02/08(木) 15:54:42.21ID:Ia7szBUl
>>710
あ!すません。。。
NumPyのpermutationではなく
itertoolsのpermutationsを使うんですね!!
なんとなく答えが見えました。
714遊園地
垢版 |
2018/02/08(木) 16:20:29.27ID:Er5ZpABn
9要素 一致
 362,880通り*合計の確認= 処理数

なんとなく答えが見えました。 (笑)
715遊園地
垢版 |
2018/02/08(木) 16:23:15.68ID:Er5ZpABn
8かww

362,880通り*8= 1/2903040?wwww
2018/02/08(木) 16:24:45.08ID:Ia7szBUl
やはり力技過ぎますかね^^;
2018/02/08(木) 16:30:32.44ID:Ia7szBUl
8/362880になる様ですw
718遊園地
垢版 |
2018/02/08(木) 16:32:14.33ID:Er5ZpABn
ごめんwww

 計算してないわwww
2018/02/08(木) 16:38:16.53ID:Ia7szBUl
9!=362880通り
3*3でもこの数だと。。。
4*4とかになると厳しそうですね。。

>>711のサイトを参考に別のアプローチも考えてみますw
720遊園地
垢版 |
2018/02/08(木) 16:40:54.68ID:Er5ZpABn
そんなww 事よりコード書くぞwww

00,01,02
10,11,12
20,21,22

3 エラー
ー1エラー
2018/02/08(木) 16:47:38.76ID:Ia7szBUl
>>720
すいません。
わかりません。
それはなんですか。
2018/02/08(木) 17:02:31.35ID:Ia7szBUl
よく考えると重複を含むランダムで魔方陣を作成する>>709のコードだと
362880回の計算どころじゃすまないですねw
でも意外と早く魔方陣が出力されたので今のPCは凄く計算が早いんですね。

なんか色々と学べた。ありがとう。
723遊園地
垢版 |
2018/02/08(木) 17:02:45.16ID:Er5ZpABn
何でも無いお?
724遊園地
垢版 |
2018/02/08(木) 17:08:18.46ID:Er5ZpABn
0,1判断のNoneに+=1 なんてツッコミは面白くない
725遊園地
垢版 |
2018/02/08(木) 17:10:34.34ID:Er5ZpABn
#下wwww
def click_down(brave_x,brave_y):
return brave_x, brave_y+1

# 右上
def click_up01(brave_x,brave_y):
return brave_x+1, brave_y-1

駄目だだぁああwwww
726遊園地
垢版 |
2018/02/08(木) 17:12:29.07ID:Er5ZpABn
降参しまsたwww
727麻痺
垢版 |
2018/02/08(木) 19:01:47.13ID:L3dgvVCS
実験中 魔方陣
https://gist.github.com/anonymous/48f9a7af62af4133e04e0bd19f3f4264
728遊園地
垢版 |
2018/02/08(木) 19:15:14.55ID:Er5ZpABn
なんだw 皆やってるなら俺もやるかww
729遊園地
垢版 |
2018/02/08(木) 19:26:54.30ID:Er5ZpABn
ヒンニュー連動ぐらい

 1シコ(日)2シコ ぐらいで頑張っちゃおう!!!wwww

なんてぇっなwww
2018/02/08(木) 19:28:17.35ID:Ia7szBUl
なんか僕には何をしてるのかわからない。
分析してみます。
2018/02/08(木) 19:43:19.38ID:Ia7szBUl
>>727
すごい!
n*nの魔方陣を出力できるんっすね!
732遊園地
垢版 |
2018/02/08(木) 20:48:52.66ID:Er5ZpABn
降参

indexでやってるけど、外に出た時のエラーで躓く
範囲外エラーを1つずつ指定して書いてるから拡張性が無いww
2018/02/09(金) 21:48:02.77ID:c3bEqQ3n
matplotlibでグラフ出力するときに、数秒ごとのデータが長期間とかあると軸に書かれた日付がまっくろになってしまったりすので、1日ごととか3日ごとのテキスト区切りにしたいのですが、表記方法を教えてください。
2018/02/09(金) 21:57:06.15ID:tdu0vLnD
DataFrameならdate_rangeとかにしとくと勝手に間引いてくれてる気がする
735デフォルトの名無しさん
垢版 |
2018/02/09(金) 22:03:05.20ID:tdu0vLnD
timedelta_rangeか
2018/02/10(土) 07:50:02.34ID:zlNupiMk
誰か助けて〜

from random import choice

list_ = [0,1,2,3,4,5,6,7,8]

for i in list_:
____place = choice(list_)
____del(list_[place])
____print(list_)

リストからランダムで一つずつ要素を削除するプログラムを作りたいのですがエラーがでます(汗)

IndexError: list assignment index out of range

↑これです(泣)
もうかれこれ5時間格闘中です。
リストからの選択は必ずchoiceを使う事が条件です。
737遊園地
垢版 |
2018/02/10(土) 08:37:57.88ID:PklGIWAk
import random

marks = [0,1,2,3,4,5]

t=random.choice(marks)
del marks[t-1]

print(marks)
2018/02/10(土) 08:44:50.04ID:zlNupiMk
>>737
うわぁ、ありがとう。
でも、そのコードでもforとかで繰り返すとエラーになります。
原因がわからないです。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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