に変換しました:は空のリストを追加しますが、次のコードではNoneType
all_subsets = []
subsets = [[], [2]]
left_most = 1
for subset in subsets:
print subset
all_subsets.append(subset)
all_subsets.append(subset.append(left_most))
print all_subsets
私はリターンが[[], [1], [2], [2, 1]]
あるべきと仮定し、私は実際に[[1], None, [2, 1], None]
のリターンを得ました。すなわち[]
はNone
に変換されました。
同じ物理アドレスを指しているのは、ループ内のsubset
を2回修正するという問題だと思います。しかし、次のようにリストを変更する前にローカルコピーを作成しても問題を解決することはできません:
all_subsets = []
subsets = [[], [2]]
left_most = 1
for subset in subsets:
print subset
subset_orig = list(subset)
subset_plus = list(subset).append(left_most)
all_subsets.append(subset_orig)
all_subsets.append(subset_plus)
print all_subsets
ご存じですか?ありがとう!