python中怎么从列表生成字典_如何从列表中生成字典列表(包含列表值)?

通过迭代python列表,我想创建一个列表字典,其中每个字典的值也是一个列表。在

结构将是:[{key1: [val1, val2]}, {key2: [val3, val4]}, {key3: [val5, val6]}, ...]

我从一系列整数开始:

^{pr2}$

对于列表中的每个元素,它应该成为字典键。然后,我将两个项目附加到字典的值(这是一个列表)。(假设这两个项目总是“狗”和“猫”)

最终结果如下:[{3423:['dog', 'cat']}, {77813:['dog', 'cat']}, {12:['dog', 'cat']},

{153:['dog', 'cat']}, {1899:['dog', 'cat']}]

我这样做有很多问题:for i in my_list:

d = {} ## create a dictionary 'd'

d[i] = [].append('dog') ## or `d[i] = ['dog'].append('cat')`

my_list.append(d) ## here is a bug

my_list.remove(i) ## remove the item from the list我不喜欢这样,我必须给一个空字典命名,并且每个字典都命名相同的东西(这里,d)。后来,我想按着这些字典的键来查阅每一本字典——我不在乎它们的名字。

我不知道如何明智地将多个条目追加到字典值中,而实际上它应该是一个列表。如果我想增加几个项目呢?

错误是将字典附加到原始列表,然后删除该项。当然,这可以通过一个新的列表来解决:new_list = []

for i in my_list:

d = {}

d[i] = [].append('dog')

new_list.append(d)

my_list.remove(i)

但这感觉很笨拙。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值