在列表/索引的最后位置插入元素时出现问题?

2024-05-13 00:01:37 发布

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

我有这样一个清单:

[[['apple', 'bannana', 'lemon', 'watermelon'], ['apple', 'orange', 'peach', 'bannana']],
[['apple', 'orange', 'watermelon', 'peach'], ['apple', 'grapes', 'peach', 'bannana']],
[['apple', 'orange', 'lemon', 'grapes'], ['apple', 'bannana', 'lemon', 'watermelon']]]

如何在第一个子列表的最后一个位置添加新元素,例如“hi”字符串

例如:

[[['apple', 'bannana', 'lemon', 'watermelon', 'hi'], ['apple', 'orange', 'peach', 'bannana']],
[['apple', 'orange', 'watermelon', 'peach', 'hi'], ['apple', 'grapes', 'peach', 'bannana']],
[['apple', 'orange', 'lemon', 'grapes', 'hi'], ['apple', 'bannana', 'lemon', 'watermelon']]]

我试着,迭代和重建列表。但是,由于某些原因,正在多次添加新字符串:

 for i in l:
     i[0].insert(len(i[0]), 'hi')
 print(i[0])

还有其他的Python方法吗?我不想的是最终重建更多的列表,原来的列表


Tags: 字符串inapple列表for原因hilemon
1条回答
网友
1楼 · 发布于 2024-05-13 00:01:37

list.insertlist.append的泛化,它可以在任何地方插入元素(这样做效率相对较低,因为append已经分摊了O(1)的复杂性)。如果您只想在list末尾“插入”,请改用append

for i in l:
    i[0].append('hi')

如果你的llist总是由两个项目组成,你可以使用iterable解包来避免索引(理想情况下,给每个部分一个有用的名称,而不是仅仅i),例如:

for part1, part2 in l:  # Or since you never use part2, just for part1, _ in l:
    part1.append('hi')

相关问题 更多 >