什么是确定列表中恰好有两个元素相同的最有效方法?例如:
我已经使用if/else语句成功完成了这个任务。然而,如果列表更大,为每对写出每种可能性的任务将变得非常困难和耗时。有没有更快/更简单的方法来完成这个任务?
以下是我尝试过的方法:
>>> has1dup(["one", "one", "two"])
True
>>> has1dup(["one", "two", "three"])
False
>>> has1dup(["one", "one", "one"])
False
我已经使用if/else语句成功完成了这个任务。然而,如果列表更大,为每对写出每种可能性的任务将变得非常困难和耗时。有没有更快/更简单的方法来完成这个任务?
以下是我尝试过的方法:
def has1dup(lst):
if lst[0] == lst[1] and lst[1] != lst[2]:
return True
elif lst[1] == lst[2] and lst[2] != lst[0]:
return True
elif lst[0] == lst[2] and lst[2] != lst[1]:
return True
else:
return False
for-else
- 好吧,我从来不知道这样的东西甚至存在。+1 为了教育我。一个问题,为什么你不会无论如何都返回“no”(即放弃“else”行)? - paxdiablo