python - 一旦从 python 列表中的列表中删除了一个项目,我如何刷新列表

标签 python list split

这很复杂,但我希望能够在项目从较大列表中的迷你列表中取出后刷新较大的列表。

listA = ['1','2','3','4','5','6','6','8','9','5','3','7']

我使用下面的代码将它分成三个列表

split = [listA[i:(i+3)] for i in range(0, len(listA) - 1, 3)]

print(split)

# [['1','2','3'],['4','5','6'],['6','8','9'],['5','3','7']]

split = [['1','2','3'],['4','5','6'],['6','8','9'],['5','3','7']]

如果我从第一个列表中删除了 #3,现在拆分将是

del split[0][-1]
split = [['1','2'],['4','5','6'],['6','8','9'],['5','3','7']]

#3 被删除后,我希望能够刷新列表,使其看起来像;

split = [['1','2','4'],['5','6','6'],['8','9','5'] ,['3','7']]

提前致谢

最佳答案

不确定这个列表有多大,但你需要将它展平并重新计算:

>>> listA = ['1','2','3','4','5','6','6','8','9','5','3','7']
>>> split = [listA[i:(i+3)] for i in range(0, len(listA) - 1, 3)]
>>> split
[['1', '2', '3'], ['4', '5', '6'], ['6', '8', '9'], ['5', '3', '7']]
>>> del split[0][-1]
>>> split
[['1', '2'], ['4', '5', '6'], ['6', '8', '9'], ['5', '3', '7']]
>>> listA = sum(split, []) # <- flatten split list back to 1 level
>>> listA
['1', '2', '4', '5', '6', '6', '8', '9', '5', '3', '7']
>>> split = [listA[i:(i+3)] for i in range(0, len(listA) - 1, 3)]
>>> split
[['1', '2', '4'], ['5', '6', '6'], ['8', '9', '5'], ['3', '7']]

关于python - 一旦从 python 列表中的列表中删除了一个项目,我如何刷新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9795031/

相关文章:

java - 算法 - 如何有效地删除列表中的重复元素?

python - 在python中有效地知道两个列表的交集是否为空

java - 从字符串集列表到普通列表

r - 在列表列表 R 上应用函数/循环

拆分重叠 [RAKU]

python - 如何用python表达以下分段函数?

python - 在 Ubuntu 上运行 python 代码后,在哪里可以找到我的 .csv 文件?

python - Tensorflow:tf.image.central_crop 问题

regex - FOR/F 不适用于批处理文件中的逗号分隔双引号字符串

bash - 将文本文件拆分成行 block