如何将一个字典值多次添加到数组中?

How to add one dictionary value multiple times to an array?

我想将 f1 的值两次添加到一个数组中,但是 extend() 方法给我这个错误?

TypeError: 'int' object is not iterable

s = ("f1", "f1")
mo = []
for key, val in shiftweek.items():
    if key in s:
        mo.extend(val)

有没有其他方法可以将f1的值两次添加到数组mo中?

最佳,

帕特里克

问题是 extend 采用可迭代对象(列表、元组等),但您传递的是单个值 (int)。

您想改用 append

这是一个例子:

s = ("f1", "f1")
mo = []
for key, val in shiftweek.items():
    if key in s:
        mo.append(val)

编辑:如果您想将 n 次出现的 val 放入 mo 中,其中 n 等于keys 中出现的次数,那么你可以这样做:

s = ("f1", "f1")
mo = []
for key, val in shiftweek.items():
     n = s.count(key)
     mo.extend([val] * n)

.extend() 方法将列表添加到当前列表,要添加值,您应该使用 .append() 方法

我想你要的就是这个

s = ("f1", "f1")
mo = []
for key, val in shiftweek.items():
    for i in s:
       if key == i:
           mo.append(val)