您好我是一名新程序员,我希望在字典中重复附加字符串,至少3次。
例如:
输入:
{Words:['hi', 'bye', 'goodbye']}
输出:
{Words:['hi', 'bye', 'goodbye','hi', 'bye', 'goodbye','hi', 'bye', 'goodbye','hi', 'bye', 'goodbye','hi', 'bye', 'goodbye']}
我试过的是:
d = {'Words':['hi', 'bye', 'goodbye']}
new_d = {}
for key in d:
new_d[key] = []
for element in d[key]:
new_d[key] += [element]*10
print new_d
但我得到了这个输出:
{'Words':['hi','hi','hi','hi','hi', 'bye','bye','bye','bye','bye','bye', 'goodbye','goodbye','goodbye','goodbye','goodbye']}
以上不是我要找的输出......
答案 0 :(得分:4)
只需乘以它:
>>> ['hi', 'bye', 'goodbye']*3
['hi', 'bye', 'goodbye', 'hi', 'bye', 'goodbye', 'hi', 'bye', 'goodbye']
所以在你的背景下,它会是这样的:
for k, v in d.items():
d[k] = v*3
或者,你也可以使用一个函数,虽然有点复杂:
def multiply(l, n):
length = len(l)
new = []
for _ in range(n):
for i in range(length):
new.append(l[i])
return new
结果:
>>> l = ['hi', 'bye', 'goodbye']
>>> multiply(l, 2)
['hi', 'bye', 'goodbye', 'hi', 'bye', 'goodbye']
以下是如何使用该功能:
for k, v in d.items():
d[k] = multiply(v)
希望这有帮助!
答案 1 :(得分:3)
您可以使用dictionary comprehension:
>>> dct = {'Words':['hi', 'bye', 'goodbye']}
>>> {k:v*5 for k,v in dct.items()}
{'Words': ['hi', 'bye', 'goodbye', 'hi', 'bye', 'goodbye', 'hi', 'bye', 'goodbye', 'hi', 'bye', 'goodbye', 'hi', 'bye', 'goodbye']}
>>>
如果您需要,请参考dict.items
。