打破for循环

时间:2014-11-05 18:15:15

标签: python function loops for-loop break

我要求用户输入3个城市的名称。我创建一个列表,然后将它们传递给这个函数,以确保城市名称不重复:

def UniqueName(citylist):
    output = []
    for x in citylist:
       if x not in output:
           output.append(x)
       else: print "The city name you enter is part of the list"
             break
    return output

问题是它没有破坏。

2 个答案:

答案 0 :(得分:0)

首先,你的缩进是错误的。它应该是:

def UniqueName(citylist):
    output = []
    for x in citylist:
        if x not in output:
            output.append(x)
        else:
            print "The city name you enter is part of the list"
            break
    return output

一旦你解决了这个问题,那么它似乎工作正常。

测试程序:

print UniqueName(["Dallas","Dallas","Provo"])

输出:

The city name you enter is part of the list
['Dallas']

答案 1 :(得分:0)

要“统一”一个列表,您可以将其转换为一个集合(如果您需要列表形式,则可以将其转换为列表):

cities = ['new york', 'london', 'paris', 'london']
cityset = set(cities)
citylist = list(cityset)

citylist将包含(不一定按相同的顺序):

['new york', 'london', 'paris']

我相信这也是相当有效的。