Применение метода или функции в списке строк с условиями if - PullRequest
0 голосов
/ 17 июня 2020

У меня есть два следующих списка:

a = ["aaa", "bbb", "ccc"]
b = ["aaa", "bbb", "ddd", "eee"]

Я хотел бы иметь print (функция или метод в целом) элементов a[i], если a[i]==b[j]. Это код, который я написал, он не работает, потому что возвращает в четыре раза большее условие.

for i in range(len(a)):
    for j in range(len(b)):
        if a[i] == b[i]:
            print (a[i])

Ответы [ 3 ]

1 голос
/ 17 июня 2020

Похоже, то, что вы ищете, - это установленный перекресток.

a = ["aaa", "bbb", "ccc"]
b = ["aaa", "bbb", "ddd", "eee"]

set(a).intersection(set(b))

Результат:

{'aaa', 'bbb'}
1 голос
/ 17 июня 2020

Ваша основная проблема в том, что у вас есть условие a[i] == b[i], которое должно быть a[i] == b[j], это должно решить проблему

1 голос
/ 17 июня 2020

попробуйте следующий фрагмент кода:

a = ["aaa", "bbb", "ccc"]
b = ["aaa", "bbb", "ddd", "eee"]

output = [e for e in a if e in b]
...