将元组添加到列表中而不解压缩元组

2024-04-25 21:20:45 发布

您现在位置:Python中文网/ 问答频道 /正文

在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]。我提出的语法将使我不想要的hiarachy。你知道吗

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')]

不是我想要的。如何循环并获得第一个结果?你知道吗


Tags: inloop列表lenwith语法outb2
2条回答

仅使用列表理解:

b = ({'a': 1, 'b': 1, 'c': 1}, 'y')
bb = [b for i in range(3)]

输出:

[({'a': 1, 'c': 1, 'b': 1}, 'y'), ({'a': 1, 'c': 1, 'b': 1}, 'y'), ({'a': 1, 'c': 1, 'b': 1}, 'y')]

从列表开始并使用append

bb = []
b = ({'a': 1, 'b': 1, 'c': 1}, 'y')
for _ in range(3):
    bb.append(b)

相关问题 更多 >

    热门问题