这个问题在这里已有答案:
我试图添加一个(数字,(元组))的元组,但它会丢弃外部元组 .
如何更改代码以使l1看起来像L2?它似乎删除外部元组并将其转换为列表元素?我怎么阻止它?更好的是,它为什么会发生?
l1 = []
t1 = (1.0 , (2.0,3.0))
l1.extend((t1))
t2 = (4.0 , (5.0,6.0))
l1.extend(t2)
print(l1)
l2 = [(1.0, (2.0,3.0)),
(4.0, (5.0,6.0))]
print(l2)
l1出现为[1.0,(2.0,3.0),4.0,(5.0,6.0)]
l2出现为[(1.0,(2.0,3.0)),(4.0,(5.0,6.0))]
3 回答
使用追加:
将它更改为append()就可以了 .
l1 - [(1.0,(2.0,3.0)),(4.0,(5.0,6.0))]
l2 - [(1.0,(2.0,3.0)),(4.0,(5.0,6.0))]
Append将数据结构添加到列表的末尾,extend提取迭代 . 要更好地理解append vs. extend
你可以使用
extend()
和append()
来做到这一点 . 你的代码使用extend()
的问题是Python不能将()
识别为元组,即使其中只有一个元素 . 但是,它确实将(,)
识别为空元组:另一方面,正如Vedang Mehta所说,是使用追加:
两者都会给你结果: