gpt4 book ai didi

python - 从 python 中的列表列表中删除列表项

转载 作者:太空狗 更新时间:2023-10-30 01:57:11 24 4
gpt4 key购买 nike

我有一个字符列表:

Char_list = ['C', 'A', 'G']

和列表列表:

List_List = [['A', 'C', 'T'], ['C', 'A', 'T', 'G'], ['A', 'C', 'G']]

我想从 List_List 中相应索引 i 的列表中删除每个 Char_list[i]

输出必须如下所示:

[['A','T'], ['C', 'T', 'G'], ['A', 'C']] 

我正在尝试的是:

for i in range(len(Char_list)):
for j in range(len(List_List)):
if Char_list[i] in List_List[j]:
List_List[j].remove(Char_list[i])
print list_list

但从上面的代码中,每个字符都从所有列表中删除。

如何只从 List_list 中的相应列表中删除 Char_list[i]

最佳答案

不使用显式索引,而是将您的两个列表zip 在一起,然后应用列表理解来过滤掉每个位置不需要的字符。

>>> char_list = ['C', 'A', 'G']
>>> list_list = [['A', 'C', 'T'], ['C','A', 'T', 'G'], ['A', 'C', 'G']]
>>> [[x for x in l if x != y] for l, y in zip(list_list, char_list)]
[['A', 'T'], ['C', 'T', 'G'], ['A', 'C']]

关于python - 从 python 中的列表列表中删除列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43441033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com