使用zip创建一个字典

zip函数的应用

将一个列表转换成一个字典,并以所在位置为key:

0 推导式方法

代码如下:

names = ['bob', 'tom', 'alice', 'jerry', 'wendy', 'smith','we','Jerry']
dict_name={k:v for k,v in zip(range(1,len(names)+1),names) }
print(dict_name)

使用推导式的方法,这种创建字典的方式是十分常见的,也是最方便的!

当然,还是更加复杂的创建情况,如下:

1

现在有两个列表,list1 = [‘key1’,’key2’,’key3’]和list2 = [‘1’,’2’,’3’],把他们转为这样的字典:{‘key1’:’1’,’key2’:’2’,’key3’:’3’}

list1 = ['key1','key2','key3']
list2 = ['1','2','3']
print(dict(zip(list1,list2)))

结果为:
{‘key1’:’1’,’key2’:’2’,’key3’:’3’}

2

将嵌套列表转为字典,有两种方法,

new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
print(dict(list))

结果为:
{‘key3’: ‘value3’, ‘key2’: ‘value2’, ‘key1’: ‘value1’}

或者这样:

new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
new_dict = {}
for i in new_list:
new_dict[i[0]] = i[1]                #字典赋值,左边为key,右边为value
print(new_dict)

结果为:
{‘key3’: ‘value3’, ‘key2’: ‘value2’, ‘key1’: ‘value1’}

转载自:http://blog.youkuaiyun.com/petib_wangwei/article/details/38685303

在Python中,字典是一种非常常用的数据结构,用于存储键-值对(key-value pairs)。可以通过多种方法来创建字典,以下是几种常见的创建字典的方法,并附上相应的源代码示例。 ### 使用大括号 `{}` 创建字典 这是最直接的方式,通过在大括号中定义键值对来创建字典。键和值之间使用冒号 `:` 分隔,每对键值对之间使用逗号 `,` 分隔。 ```python my_dict = {'name': 'Alice', 'age': 25, 'city': 'Beijing'} ``` ### 使用 `dict()` 构造函数创建字典 可以通过 `dict()` 函数并传入键值对来创建字典。键值对可以以关键字参数的形式提供,也可以以包含元组的列表形式提供。 ```python # 使用关键字参数 my_dict = dict(name='Alice', age=25, city='Beijing') # 使用列表中的元组 my_dict = dict([('name', 'Alice'), ('age', 25), ('city', 'Beijing')]) ``` ### 使用字典推导式创建字典 字典推导式提供了一种简洁的方式来创建字典,尤其适用于从其他可迭代对象(如列表、元组等)生成字典的情况。 ```python # 从列表生成字典 keys = ['name', 'age', 'city'] values = ['Alice', 25, 'Beijing'] my_dict = {k: v for k, v in zip(keys, values)} ``` ### 使用 `update()` 方法更新字典 虽然这不是创建字典的直接方法,但 `update()` 方法可以用来向现有字典中添加新的键值对或更新已有的键值对。 ```python my_dict = {} my_dict.update({'name': 'Alice', 'age': 25}) ``` ### 动态创建字典 有时候可能需要根据某些条件动态地构建字典。例如,可以根据用户输入或其他运行时信息来创建字典。 ```python my_dict = {} my_dict['name'] = input('Enter name: ') my_dict['age'] = int(input('Enter age: ')) ``` 以上就是几种在Python中创建字典的方法,每种方法都有其适用场景,可以根据具体需求选择合适的方法[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值