2017-03-18 49 views
1

我想打一個字典出的for循環..如何使用循環制作字典?

如果我有o = {1: 'one', 2: 'two'}

我如何做一個循環,這將使這樣的字典,使用o字典?

h = {1: 'One-Hundred', 2: 'Two-Hundred'} 

回答

2

使用典型for循環:

h = {} 
for k,v in o.items(): 
    h.update({k: v.title() + '-Hundred'}) 

結果

{1: 'One-Hundred', 2: 'Two-Hundred'} 

這種工作方式很簡單

  1. 首先初始化新字典( h = {}) - 這將是空的。
  2. 接下來使用鍵設置循環,並在o字典items()中設置值(k,v)。
  3. 最後一步是update()h字典每次迭代都用鍵值,字符串。
    • ({k:=鍵,v =值.title() =第一個字符大寫,+-Hundred})。
+0

謝謝!但你能解釋這是如何工作的? (我是Python新手) – Telep0rter

+0

我還會在這裏嗎? – Telep0rter

+1

@ Telep0rter:好的,我會編輯我的答案... –

3

你只需要字符串'-Hundred'添加到每個值的末尾:

h = {key: value.capitalize() + '-Hundred' for key, value in o.items()} 

這就是所謂字典解析(它是密切相關的列表理解發電機表達),它確實涉及到一個循環:仔細看看它。你看,有一個for ... in ...構造。

+0

有沒有辦法用for循環做到這一點? – Telep0rter

+0

@Telep0rter,這個方法_does_使用循環。請參閱編輯。 – ForceBru