[英]Python: Comparing values within a list
我的 python 程序中有一個列表,我想將列表中的每個值與其他所有值進行比較,如果這些值彼此相等,則在列表中打印迭代值,例如年齡 [1]。 這是到目前為止的代碼
ages = [16, 16, 15]
for i in ages:
for x in ages:
if i == x:
print(i, "=", x)
目前這給了我一個 output
16 = 16
16 = 16
16 = 16
16 = 16
15 = 15
我知道它正在比較列表中的每個值,而沒有省略已經處理的值,並且打印 function 僅給出迭代的當前值。 有什么解決辦法嗎?
這不會重復任何比較
ages = [16, 16, 15]
l = len(ages)
for i in range(l):
for x in range(i+1,l): # range(i+1,l) makes sure that you don't compare with itself OR repeat any comparisons
if ages[i] == ages[x]:
#print(ages[i], "=", ages[x])
print("ages[{}] = ages[{}]".format(i, x))
ages[0] = ages[1]
一種方法是使用enumerate
:
ages = [16, 16, 15]
for i, x in enumerate(ages):
for j, y in enumerate(ages[i+1:]):
if x == y:
print(f"{i}/{i + 1 + j}: {x}")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.