0

我正在尝试编写一个函数,当给定一组国家名称和一组州名称时,它将比较这两组,看看是否至少有一个国家和一个州以相同的三个字母开头。

我已经尝试了许多不同的方法来创建一个包含所有州和国家名称的前三个字母的新集合,但我似乎无法让它工作。

任何帮助将不胜感激!

    def StartsWithSameThreeLetters(x,y):
        common = set(state[:3] for state in x) and set(country[:3] for country in y)
        length = len(x) + len(y)
        if length != len(common):
            return True
        else:
            return False

如果 x 是州名的集合,y 是国名的集合

4

1 回答 1

4

您可以使用集合推导:

common = {country[:3] for country in countries} & {state[:3] for state in states}

如果您的 Python 安装太旧而无法使用它们,总有set()

set(country[:3] for country in countries)
于 2013-06-10T01:30:37.443 回答