如何使用Python向列表中的列表添加一个项目

3

有没有办法使用Python向列表的列表中添加一个项目。

以下是一个示例列表:

test_list = [['abc','2'],['cds','333'],['efg']]

我想在位置 test_list[2][1] 添加一个元素 '444'
最终列表应为:
test_list = [['abc','2'],['cds','333'],['efg','444']]

3
test_list[2].append(444)应该可以做到。 - Anwarvic
是的,它运行得很好。谢谢你@Anwarvic - Haz
5个回答

6

是的,这绝对是你可以做的事情。

您只需使用索引访问要添加另一个项目的列表对象,然后调用该列表对象上的 .append() 并提供新值即可。

test_list = [['abc','2'], ['cds','333'], ['efg']]
test_list[2].append('444')
# test_list is now: [['abc','2'], ['cds','333'], ['efg', '444']]

这现在不是我的吗? - U13-Forward
如果您依赖于位置附加,始终会在末尾添加元素, 因此,当您想要在特定位置添加元素时,请使用具有索引的插入。 - ravishankar chavare
@ravishankarchavare 是的,.append() 会将其添加到列表末尾,但是原始问题有点模糊,不确定当另一个元素已经存在于 [2][1] 位置时,该项是否应始终插入到该位置,或者仅将其放在列表末尾。我认为 .append() 更适用于向列表中添加项目的多种用例。 - Karl

2
test_list = [['abc','2'],['cds','333'],['efg']]
test_list[2].insert(1,"444")
print(test_list)

1
尝试使用appendappend可以完成你的工作:
>>> test_list = [['abc','2'],['cds','333'],['efg']]
>>> test_list[2].append('444')
>>> test_list
[['abc', '2'], ['cds', '333'], ['efg', '444']]
>>> 

或者使用+=,将两个列表添加在一起:

>>> test_list = [['abc','2'],['cds','333'],['efg']]
>>> test_list[2] += ['444']
>>> test_list
[['abc', '2'], ['cds', '333'], ['efg', '444']]
>>> 

append 是 Python 中的内置列表方法,这里是它的文档链接。而对于 +=,那是一个内置的加法运算符,详见文档链接


0

你也可以使用切片来完成这个操作:

test_list = [['abc', '2'], ['cds', '333'], ['efg']]
test_list[2][1:] = ['444']
print(test_list)

[['abc','2'],['cds','333'],['efg','444']]

0
以上三个答案都是正确的。但我想补充一点,如果你想在一个列表中添加元素并且不知道结尾索引,你可以这样做:
>>> test_list = [['abc','2'],['cds','333'],['efg']]
>>> test_list[-1].append('444')
>>> test_list
[['abc', '2'], ['cds', '333'], ['efg', '444']]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接