繁体   English   中英

从嵌套的第二个列表中的一个列表中查找元素

[英]Finding element from one list in nested second list

我有两个字符串值列表, list1 = ['a','g','f','e']list2 = [['c','v','d'], ['a','d','e'], ['g','h']] 我想编写一个代码,只有当list2嵌套列表中的第一个(第0个)元素与list1第一个(第0个)元素不同时,才会将list1追加到list2

这是我写的代码,它没有错误,但它没有做我想要的

list1 = ['a','g','f','e']
list2 = [['c','v','d'], ['a','d','e'], ['g','h']]

print('List 1: ', list1)
print('List 2: ', list2)

for nest in list2:
    if list1[0] != nest[0]:
        list2.append(list1)
        print(list2)        
    else:
        print("Not added")

您可以使用内置的all来检查子列表的所有第一个元素是否与list1的第一个元素不同:

if all(l[0] != list1[0] for l in list2):
    list2.append(list1)

也许这有助于:

list1 = ['a','g','f','e']
list2 = [['c','v','d'], ['a','d','e'], ['g','h']]

print("List 1: ", list1)
print("List 2: ", list2)

for nested_list in list2:
    if nested_list[0] == list1[0]:
        print("Not added")
        break
else:
    list2.append(list1)

print(list2)

如果循环完成而没有break ,则执行for循环后的else块。 你可以阅读更多有关for - else的内容为什么python在for和while循环后使用'else'? 例如。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM