gpt4 book ai didi

python - 删除元组中列表列表中的项目

转载 作者:太空宇宙 更新时间:2023-11-03 13:28:44 26 4
gpt4 key购买 nike

我有一个元组列表,每个元组包含两个值。第一个值是一个字符串列表,第二个值是一个字符串:

list_of_tuples = [(['this', 'askjsdaddsa', 'match1'], 'done'), (['sajs', 'skasassas', 'asdasdasdasd', 'qwerty'], 'doneagain')]

如何将元组中的第一个值减少为仅包含六个字母的字符串?理想情况下我会

final_list_of_tuples = [('match1' , 'done'), ('qwerty', 'doneagain')]

到目前为止,我有以下内容:

for a, b in dict_refine:
a.remove(i for i in a if len(i) != 6)

我觉得好像有一些非常基本的东西我正在吹过去。有没有办法在一行中做到这一点?输出到字典中会更容易吗?

最佳答案

与大多数涉及在 Python 中更改列表的任务一样,这里的工作工具可能是 list comprehension ,在这种情况下,其中两个:

>>> [([word for word in words if len(word) == 6], key) for (words, key) in list_of_tuples]
[(['match1'], 'done'), (['qwerty'], 'doneagain')]

内部理解 [word for word in words if len(word) == 6] 希望是清楚的——这会将列表过滤到长度为 6 的单词。外部元素只是将内部元素应用于每个元组的第一个元素并重建元组。

如果直接对值进行操作,当然不需要构造新的列表,正常迭代即可:

for (words, key) in list_of_tuples:
six_letter_words = [word for word in words if len(word) == 6]
....

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

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