Я следую этому примеру, Отображение Python в Matplotlib Cartopy Color One Страна. Он полностью работает с несколькими странами, например США, Франция, Великобритания, Япония.
for country in countries:
if country.attributes['adm0_a3'] == 'USA':
ax.add_geometries(country.geometry, ccrs.PlateCarree(),
facecolor='#008744', alpha = 0.5,
label=country.attributes['adm0_a3']),
if country.attributes['adm0_a3'] == 'FRA':
ax.add_geometries(country.geometry, ccrs.PlateCarree(),
facecolor='#008744', alpha = 0.5,
label=country.attributes['adm0_a3']),
+ 'GBR'
+ 'JPN'
else:
ax.add_geometries(country.geometry, ccrs.PlateCarree(),
facecolor=('#c4e6ff'),
label=country.attributes['adm0_a3'])
Я хотел бы поместить список стран в одну строку, а не повторять утверждения снова и снова.
Я пытался:
if country.attributes['adm0_a3'] == ['USA', 'FRA', 'GBR', 'JPN']:
И any('USA, 'FRA', 'GBR', 'JPN')
И ['USA or 'FRA' or 'GBR' or'JPN']
И изречение:
myDict = {'USA', 'FRA', 'GBR', 'JPN'}
if country.attributes['adm0_a3'] == myDict:
Очевидно, я не совсем понимаю логику.