python两个列表的值作为同一的字典的不同value值

现在有两个列表a,b

a = ['e','f','g']
b = ['1','2','3']


如果想变成

x = [{'name':'e','link':'1'},{'name':'f','link':'2'},{'name':'g','link':'3'}]

x是一个列表嵌套字典的变量。

首先我们可以使用zip()函数。

zip()函数的用法是接受一系列可迭代对象作为参数,将不同对象中相对应的元素打包成一个元组(tuple),返回由这些元组组成的list列表,如果传入的参数的长度不等,则返回的list列表的长度和传入参数中最短对象的长度相同。

举例1:

x = [1,2,3,4,5]
y = ['a','b','c','d']
new = zip(x,y)
print(new)
for a,b in zip(x,y):
    print(a)
    print(b)

# [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
# 1
# a
# 2
# b
# 3
# c
# 4
# d

 我们可以定义一个字典d,以及列表new_list,通过zip()函数,输出a,b的同时,赋给字典d的value值,并且不断地向new_list添加元素。

a = ['e','f','g']
b = ['1','2','3']
new_list = []
for k,v in zip(a,b):
    d ={}
    d['name'] = k
    d['link'] = v
    new_list.append(d)
print(new_list)

列表的.append()方法是在列表的尾部加入指定的元素,即追加。

此时输出为:

[{'name': 'e', 'link': '1'}, {'name': 'f', 'link': '2'}, {'name': 'g', 'link': '3'}]

Process finished with exit code 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值