我想将一个项目插入列表中的列表中。我想知道是否有人可以给我看。
list5 = [[], [(1,2,3,4), 2, 5]]
print("1. list5", list5)
list5.insert(0, (2,5,6,8))
print("2. list5", list5)
Output:
1. list5 [[], [(1, 2, 3, 4), 2, 5]]
2. list5 [(2, 5, 6, 8), [], [(1, 2, 3, 4), 2, 5]]
我想:
2. list5 [[(2, 5, 6, 8)], [(1, 2, 3, 4), 2, 5]]
很遗憾,一本字典不起作用。
答案 0 :(得分:4)
问题是您尝试插入列表的第一个元素list5
,这是不正确的。您必须访问列表的第一个元素并将其插入该列表。这可以使用以下代码
>>> list5 = [[], [(1,2,3,4), 2, 5]]
>>> print("1. list5", list5)
1. list5 [[], [(1, 2, 3, 4), 2, 5]]
>>> list5[0].insert(0, (2,5,6,8))
>>> print("2. list5", list5)
2. list5 [[(2, 5, 6, 8)], [(1, 2, 3, 4), 2, 5]]
答案 1 :(得分:0)
此处的问题是insert
会在列表中创建 new 项目。所以
>>> list5 = [[], [(1,2,3,4), 2, 5]]
创建一个包含两个元素的列表,第一个元素恰好是一个零元素的列表:
>>> list5[0]
## []
如果你再调用list5.insert(0, foo)
,那么foo
将被推入位置0的列表中,并且其他所有内容都会被推送(即列表中具有索引的元素)每个0或更大的索引增加1)。
您实际想要做的是将一个元素插入list5
位置0的空列表中。因此,您需要访问该列表,然后调用添加元素的方法。任
>>> list5[0].append( (2,5,6,8) )
或
>>> list5[0].insert(0, (2,5,6,8) )
会做到这一点。