Python 3.x 如何重复附加字符串

Python 3.x 如何重复附加字符串,python-3.x,dictionary,append,repeat,Python 3.x,Dictionary,Append,Repeat,您好,我是一名新程序员,我希望在字典中重复添加字符串,至少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']}

您好,我是一名新程序员,我希望在字典中重复添加字符串,至少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']}
以上不是我想要的输出…

只需将其乘以:

>>> ['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)
希望这有帮助

您可以使用一个:

>>> 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']}
>>>

如果您需要,这里有一个参考资料。

您好,什么是k和v?常见的“键”和“值”缩写嗨!我们正在遍历字典中的键值对
k
是当前键,
v
是当前值:)啊,我明白了,好的,让我尝试实现这个。您好,我得到了正确的列表输出。。。但是我没有拿到钥匙和字典。。。我刚拿到名单。