Python字典乘法
假设我们有:Python字典乘法,python,list,dictionary,Python,List,Dictionary,假设我们有: dict = {1:[2, 3]} m = 4 new = {1:[]} # to save time, the keys in "new" were obtained from "dict" 我想用“dict”来表示“new”,使每个值在“dict”列表中出现的次数与“m”相同,以便: 如何通过使用for循环来实现这一点?这让我有点困惑,因为我使用了很多for循环,任何帮助都将不胜感激。 我更希望你们能给出一些想法,而不是给我代码。应该能让你们很好地了解如何处理这种情况 Pyt
dict = {1:[2, 3]}
m = 4
new = {1:[]} # to save time, the keys in "new" were obtained from "dict"
我想用“dict”来表示“new”,使每个值在“dict”列表中出现的次数与“m”相同,以便:
如何通过使用for循环来实现这一点?这让我有点困惑,因为我使用了很多for循环,任何帮助都将不胜感激。
我更希望你们能给出一些想法,而不是给我代码。应该能让你们很好地了解如何处理这种情况
Python允许您将想要重复的内容“乘以”重复次数
编辑:哇。。等等-你不是已经在“复制列表线程中的元素”上发布了吗?应该能让你很好地了解如何在这种情况下继续
Python允许您将想要重复的内容“乘以”重复次数
编辑:哇。。等等-您不是已经在“复制列表线程中的元素”上发布了吗?如果您不关心顺序:
data = {1: [2,3]}
m = 4
# gives {1:[2,3,2,3,2,3,2,3]}
new_data = { k:v*m for k,v in data.items()}
如果您不关心订单:
data = {1: [2,3]}
m = 4
# gives {1:[2,3,2,3,2,3,2,3]}
new_data = { k:v*m for k,v in data.items()}
data = {1: [2,3]}
m = 4
# gives {1:[2,3,2,3,2,3,2,3]}
new_data = { k:v*m for k,v in data.items()}
>>> from itertools import chain, repeat
>>> data = {1: [2,3]}
>>> m = 4
>>> {k: list(chain.from_iterable(repeat(i, m) for i in data[k])) for k in data}
{1: [2, 2, 2, 2, 3, 3, 3, 3]}