Pythonでは、bのようなタプルがいくつかあります。それらを解凍しないで空のリストに追加したいのですが。ここでは、それが繰り返されるように、私はBを簡素化、現実には、Bの値が異なるだろう、そうbはB1、B2、B3 ...タプルを展開せずにリストにタプルを追加
b = ({'a': 1, 'b': 1, 'c': 1}, 'y')
bb = [b, b, b]
print(len(bb))
print(len(bb[0]))
bb
だろうこれは
3 2 Out[204]: [({'a': 1, 'b': 1, 'c': 1}, 'y'), ({'a': 1, 'b': 1,'c': 1}, 'y'), ({'a': 1, 'b': 1, 'c': 1}, 'y')]
を与えますそれは私が望むものです。しかし、今私はループでやっているので、bb = [b、b、b]と書くことはできません。私が思いついた文法は、私が欲しくないようなひらめきを作ります。
bb =()
b = ({'a': 1, 'b': 1, 'c': 1}, 'y')
bb = [bb, b]
# in reality I loop bb with 3 times in for loop
bb = [bb, b]
bb = [bb, b]
print(len(bb))
print(len(bb[0]))
bb
これは
[[[(), ({'a': 1, 'b': 1, 'c': 1}, 'y')], ({'a': 1, 'b': 1, 'c': 1},'y')], ({'a': 1, 'b': 1, 'c': 1}, 'y')]
を与え、私が望んでいたたくされていません。どのようにループして最初の結果に達することができますか?
は何 '[B、B、Bと警戒してください] 'does - 各タプルに_dictionary_の参照コピーを作成します。 –