首页 > 解决方案 > 这个字符串不是与来自 pytz.country_timezones 的列表的内容相比吗

问题描述

无法获得以下输出:

import pytz  # Python timezone library
for x in sorted(pytz.country_timezones):
    if "Asia" in pytz.country_timezones[x]:
        print(pytz.country_timezones[x])

以下代码为我提供了输出:

for x in sorted(pytz.country_timezones):
for y in pytz.country_timezones[x]:
    if "Asia" in y:
        print(pytz.country_timezones[x])

为什么它不在完整列表 pytz.country_timezones[x] 中比较和匹配,而是能够比较和匹配列表中的各个项目。抱歉,python 新手。

标签: pythonpytz

解决方案


pytz.country_timezones[x]是一个包含多个元素的列表,例如 for x="NZ", pytz.country_timezones['NZ'] =['Pacific/Auckland', 'Pacific/Chatham'].

在第一个片段中,您询问确切的表达式是否Asia出现在pytz.country_timezones[x]第二个片段中,您好像Asiapytz.country_timezones[x].

由于Asia它本身从未出现在pytz.country_timezones[x]第一个片段中,因此不会打印任何内容。


推荐阅读