Fut*_*cky 0 python for-loop list python-2.7
如何在列表中找到重复值?总会有一个重复的值
例如:
numbers=[1,2,3,4,5,3]
Run Code Online (Sandbox Code Playgroud)
我需要得到值3
这是我尝试的,但它有时打印相同列表的值2次.
endLoop=False
for n1 in range(0,len(numbers)):
for n2 in range(1,len(numbers)):
if numbers[n1]==numbers[n2]:
print numbers
print numbers[n1]
endLoop=True
if endLoop:
break
Run Code Online (Sandbox Code Playgroud)
跟踪您在set()对象中看到的数字,重复该集合中已有的第一个数字:
def find_repeat(numbers):
seen = set()
for num in numbers:
if num in seen:
return num
seen.add(num)
Run Code Online (Sandbox Code Playgroud)
这是查找第一个重复值的有效方法,因为一旦找到它,就不必查看其余的数字.
小智 6
有一个更简单的方法可以做到这一点。使用 .count() 关键字。你可以做这样的事情
for n in numbers:
if numbers.count(n)>1:
print("Repeated number: ",n)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8212 次 |
| 最近记录: |