這當然是可以添加通過random.randint
到字典或列表返回的值;它只是一個整數,可以像其他任何對象一樣處理。但是,您不能append
到字典;該語法用於添加到列表的末尾,將新對象添加到字典中使用d[key] = value
。另外,字典沒有像例如相同的方式的索引。列表和元組做;只是一個關鍵,並沒有保證順序。
下面是接近一個例子是什麼你描述:
import random
l = []
for _ in range(10):
n = random.randint(0, 10)
print(n)
if n not in l:
print("New item.")
l.append(n)
else:
print("Item found at index {0}.".format(l.index(n)))
print(l)
從這個輸出是:
2
New item.
2
Item found at index 0.
2
Item found at index 0.
1
New item.
3
New item.
10
New item.
6
New item.
4
New item.
4
Item found at index 5.
10
Item found at index 3.
[2, 1, 3, 10, 6, 4]
編輯
要添加所有的數字,並獲得最大的預先存在的指數,你需要一個輕微的噸弱:
if n not in l:
print("New item.")
else:
index = max(i for i, v in enumerate(l) if v == n)
print("Item found at index {0}.".format(index))
l.append(n)
注意append
移動到結束(因此新n
不在列表中,當我們尋找最大的前指數),我們可以不再使用list.index
(其中找到第一索引) - 需要更復雜的計算。
這給:
0
New item.
4
New item.
10
New item.
10
Item found at index 2.
3
New item.
4
Item found at index 1.
1
New item.
8
New item.
8
Item found at index 7.
1
Item found at index 6.
[0, 4, 10, 10, 3, 4, 1, 8, 8, 1]
是的,當然它是 - 你嘗試過什麼,什麼正是你的意思是它不工作?你把'append'添加到'list',而不是'dict'。 – jonrsharpe
請說明你做了什麼沒有奏效。你對你想要的描述不是很清楚,也許代碼可能更具啓發性。 – SethMMorton
只是一個時刻,我將它添加 – ThePom