Szukanie na raz kilku warunków w liście

0

Cześć na wstępie jestem nowy i uczę się programowania, piszę pierwszy program aby uczyć się na przykładzie. A teraz do rzeczy.

Zaczytuję z pliku CSV listę, w jednej z kolumn są wypisane kraje na całym świecie, wygląda to mnie więcej tak:

kolumnaX kolumnaY kraj
Xxx1 yyyy1 Polska
Xxx1 yyyy1 Polska, Wegry
Xxx1 yyyy1 Brazylia
Xxx1 yyyy1 Niemcy, Węgry
Xxx1 yyyy1 USA
Xxx1 yyyy1 Chiny
Xxx1 yyyy1 Polska

muszę wyszukać wiersze gdzie występują konkretne kraje z EU a potem je zliczyć. mam zadeklarowaną zmienna eu = {‘Polska’, ‘Niemcy’, ‘Węgry’} w powyższym przykładzie wynikiem zliczenia krajów powinna być liczba 4 (w czterech wierszach wystepuje), jak to zrobić ?

if eu in row[‘world_country’]:
_eu_count += 1

Jest błąd: TypeError: 'in <string>' requires string as left operand, not set

Myślałem również czy nie porównywać zbiorów & ale wówczas dostaję TypeError: unsupported operand type(s) for &: 'set' and 'str'

Jak podejść do tego i czego użyć ?

2

Sprawdzanie elementu w zbioru to X in Set, nie Set in X jak u ciebie.

>>> eu = {'Polska', 'Niemcy', 'Węgry'}
>>> type(eu)
<type 'set'>
>>> eu in 'Polska'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'in <string>' requires string as left operand, not set
>>> 'Polska' in eu
True
>>> 'Hiszpania' in eu
False

1 użytkowników online, w tym zalogowanych: 0, gości: 1