首页 > 解决方案 > 如何遍历元组列表的第一个元素?

问题描述

我有一个元组列表,都包含 1 个短语和 1 个数字。

例子:[('light blue', 3), ('light green', 4), ('blue shade', 2), ('deep red', 3), ('dark red')]

我想从包含某些单词的列表中删除元组。

因此,假设我想删除短语中包含“blue”或“dark”的元组。我怎样才能做到这一点?

我试过这个,但没有奏效:

for x in Example:
    if 'blue' in x[0] or 'dark' in x[0]:
        Example.remove(x)

标签: pythonlisttuples

解决方案


您可以创建remove_list然后检查any并从原始列表中删除元素,如下所示:

>>> lst = [('light blue', 3), ('light green', 4), ('blue shade', 2), ('deep red', 3), ('dark red', 1)]
>>> rm_lst = ['blue', 'dark']
>>> [l for l in lst if not any(r_l in l[0] for r_l in rm_lst)]
[('light green', 4), ('deep red', 3)]

推荐阅读