字典的创建

字典是python内置的映射类型。

字典是由零个键值对,或一个键值对,或多个键值对用逗号隔开,包括在花括号内组成。(一对空的花括号创建一个空字典):

例如:

d1 = {}

print(type(d1))

<class ‘dict’>

d2 = {‘name’: ‘Tom’, ‘age’: 18, ‘height’: 187}

print(type(d2))

<class ‘dict’>

Python-如何创建字典,及生成字典的方法
2
1)字典是以键取值,与列表元组的索引取值不同。

2)在一个字典内,键名必须是唯一的,值可以是任何数据。(同名的键,后面的值会覆盖全面的值)

3)键,必须是不可变类型,但最好字符串。

示例:

d1 = {“name”: [‘齐德隆’,‘齐东强’],

 "age": [21,22],


 "age":[34,23]}

print(‘项数:’,len(d1))
项数: 2

print(‘输出:’,d1)

输出: {‘name’: [‘齐德隆’, ‘齐东强’], ‘age’: [34, 23]}

Python-如何创建字典,及生成字典的方法
3
数字和元组也是不可变类型,为什么说最好用字符串:

1)有可能会出现整数和浮点数相等等的情况,如1可以和1.0会被认为是同名键。

d1 = {1: ‘齐德隆’, 2.0: ‘Jerry’, 1.0: ‘Tom’, 2: ‘齐东强’}

print(d1)
—{1: ‘Tom’, 2.0: ‘齐东强’}

2)元组里可能会包括列表或字典等可变类型的元素。如(1,[2,4],6)

所以,用字符串做键是最保险的,既是想要用数字来表明顺序,也把数字变为字符串(如‘1’:’拉布拉多‘)

Python-如何创建字典,及生成字典的方法
END
2.dict 构造器来创建
1
无参数的 dict():

没有参数的dict()函数,返回一个空字典。

示例:

d1=dict()

print(d1)
—{}

Python-如何创建字典,及生成字典的方法
2
传入关键字参数:dict(**kwargs)

1)参数是关键字参数( key=value)

2)用关键字参数作为键值对,返回一个字典。

3)如果键有重名,后者的值将替代前者。

例如:

d1=dict(name=‘齐德隆’,age=24,height=187)

print(d1)
—{‘name’: ‘齐德隆’, ‘age’: 24, ‘height’: 187}

有关函数的参数可看下面的链接。

13自学Python-自定义函数
Python-如何创建字典,及生成字典的方法
3
传入映射对象做参数:dict(mapping,**kwargs)

1)传入的参数mapping是映射对象。是位置参数。

2)如果键有重名,后者的值将替代前者值。

例如:

k = [‘name’, ‘age’, ‘height’]

v = [‘齐德隆’, ‘24’, ‘187’]

worker=zip(k,v)

d1 = dict(worker)

print(d1)
{‘name’: ‘齐德隆’, ‘age’: ‘24’, ‘height’: ‘187’}

Python-如何创建字典,及生成字典的方法
4
传入可迭代的对象做参数:dict. (iterable,**kwargs)

1)参数 iterable 是可迭代的对象;是位置参数。

2)iterable的每个元素应是两个子元素的可迭代对象,如:[( a , 1 ) , ( b , 2 )]

3)每个元素中的第一个子元素将成为字典的键,第二个子元素成为值。

4)如果键有重名,后者的值将替代前者的值。

例如:

worker=[(‘name’,‘齐德隆’),(‘age’,24),(‘height’,187)]

d1=dict(worker)

print(d1)
{‘name’: ‘齐德隆’, ‘age’: 24, ‘height’: 187}

Python-如何创建字典,及生成字典的方法
5
以上3,4示例中:dict. (iterable,**kwargs)和dict(mapping,**kwargs)都没有传入关键字参数;如果要传入关键字参数:

1)关键字参数和值会被作为键值对,加入位置参数mapping或iterable创建的字典中。

2)如果键已存,关键字参数的值将替代位置参数的值。

例如:

worker=[(‘name’,‘齐德隆’),(‘age’,24),(‘height’,187)]

d1=dict(worker,place=‘大兴安岭’,name=‘齐东强’)

print(d1)
{‘name’: ‘齐东强’, ‘age’: 24, ‘height’: 187, ‘place’: ‘大兴安岭’}

Python-如何创建字典,及生成字典的方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值