2017-03-16 77 views
0

我已經做了一個字典,下面的代碼。我想爲所有值添加一個字符串「英語」,但是因爲它不接受的值是整數。如何添加一個字符串到字典的所有整數值

key = ["I", "you", "we", "us", "they", "their"] 

value = list(range(len(key))) 

dictionary = dict(zip(key,value)) 

print(dictionary) 

輸出:

{'they': 4, 'I': 0, 'you': 1, 'we': 2, 'us': 3, 'their': 5} 

我想下面的輸出:

output = {'they': 'English 4', 'I': 'English 0', 'you': 'English 1', 'we': 'English 2', 'us': 'English 3', 'their': 'English 5'} 
+1

你列出的值不是合法的Python。你想要一個字符串「英語0」,還是一個元組(「英語」,0)或其他? – Prune

+0

^建議編輯。 @Prune –

+0

我想得到元組 – Daniel

回答

1

您可以使用列表理解。改變

value = range(len(key)) 
dictionary = dict(zip(key, ['English {}'.format(i) for i in value])) 
1

你的意思是每個值有兩個不同的字段(一個是索引,一個是語言)。要做到這一點,只需將value轉換爲一個元組列表,而不是單個值。

所以value應該包含((0, "English"), (1, "English"), ... (len(key), "English"))

你可以做到這一點很容易與enumerate

value = enumerate(["English"] * len(key))

輸出:

{'their': (5, 'English'), 'you': (1, 'English'), 'us': (3, 'English'), 'I': (0, 'English'), 'they': (4, 'English'), 'we': (2, 'English')} 

(iyou可能已經意識到:enumerate(a)回報的每一個項目a索引at即((0, a[0]), (1, a[1]) , (2, a[2]), ...)

相關問題