2017-03-18 52 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