トップページ > プログラム > 2014年09月13日 > 6NBWszmd

書き込み順位&時間帯一覧

16 位/234 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000100000000210004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
くだすれPython(超初心者用) その24
Pythonのお勉強 Part49

書き込みレス一覧

くだすれPython(超初心者用) その24
447 :デフォルトの名無しさん[sage]:2014/09/13(土) 10:23:27.54 ID:6NBWszmd
>>446
listが空かどうかの判定と、等号を組み合わせることあるの?
くだすれPython(超初心者用) その24
454 :デフォルトの名無しさん[sage]:2014/09/13(土) 19:49:14.17 ID:6NBWszmd
>>432
1番良い方法を教えて下さいって奴に
複数の方法を教えるってなんだいそれ?
しかもまとまってないし。
複数の方法をダラダラ並べてるだけだ。

>>451 の書いてる通り、
if isinstance(obj, list) and not list:

が「1番」いいんじゃないの?
くだすれPython(超初心者用) その24
455 :デフォルトの名無しさん[sage]:2014/09/13(土) 19:52:31.44 ID:6NBWszmd
>>450
うーん、以下の結果で分かると思ってたけど分かりませんでした。
range() と変数のscopeの実装について知る必要があると思いましたよ。

挙動からシッタカで答えると、
Pythonでは、range()毎にindexを生成していて、
前のrange()のindexが生きている時に再びrange()を使うと、
当然に新しくindexを生成するんだけど、
生成するときには前のrange()のindexと
名前が被っているか?いないか?を考慮しない。

参照するときの名前解決の方法として、
参照するindexの名前と一致するrange()のindexが複数あれば、
新しくできたindexを優先して使っているんじゃないでしょうか?

if __name__ == "__main__":
for i in range(10):
print('外:i={}, id(i)={}'.format(i, id(i)))
for i in range(10):
print('内:i={}, id(i)={}'.format(i, id(i)))
print()

for j in range(10):
print('j={}, id(j)={}'.format(j, id(j)))

正確な話を知りたければ、本家に行って実装を聞くしかないんじゃない?
Pythonのお勉強 Part49
757 :デフォルトの名無しさん[sage]:2014/09/13(土) 20:08:53.94 ID:6NBWszmd
>>753

Python3 だとこんなに簡単に書けるんだよ。
2.5 なんてやめて 3 に移行しなきゃ

if __name__ == "__main__":
import itertools

L = ["あ","いう","えおか","き","くけこ"]
for i in range(2, len(L) + 1):
print("i= {}".format(i))
combis = itertools.combinations(L, i)
tup = tuple(combis)
print(tup)
print()


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。