python – 删除元组中列表列表中的项目
发布时间:2020-12-20 11:05:40 所属栏目:Python 来源:网络整理
导读:我有一个元组列表,每个元组包含两个值.第一个值是字符串列表,第二个值是字符串: list_of_tuples = [(['this','askjsdaddsa','match1'],'done'),(['sajs','skasassas','asdasdasdasd','qwerty'],'doneagain')] 如何将元组中的第一个值减少到只包含六个字母的
我有一个元组列表,每个元组包含两个值.第一个值是字符串列表,第二个值是字符串:
list_of_tuples = [(['this','askjsdaddsa','match1'],'done'),(['sajs','skasassas','asdasdasdasd','qwerty'],'doneagain')] 如何将元组中的第一个值减少到只包含六个字母的字符串?理想情况下我会 final_list_of_tuples = [('match1',('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'],(['qwerty'],'doneagain')] 内心理解[单词中的单词如果len(单词)== 6]希望清楚 – 这会将列表过滤为长度为6的单词.外部只将内部一个应用于每个元组的第一个元素并重建元组. 当然,如果您直接使用这些值,则无需构建新列表,您可以正常迭代: for (words,key) in list_of_tuples: six_letter_words = [word for word in words if len(word) == 6] .... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |