一秒让你学会python中的dict类型详解

目录

 

 详细操作

一,创建字典dict 

使用{}创建字典

2.使用dict()进行类型转换

3.如何访问dict中值 

二,dict内置方法的使用: 

1.删除dict值 clear()

 2.获取dict值 get(),setdefault()

3.获取dict的键值和值items()

4获取dict 的键值keys()

5.获取dict的值列表values()

6.删除dict中的键pop(),popitem()

 7.增添字典的内容 updata(),访问增添法

8.拷贝字典copy()


 详细操作

一,创建字典dict 

  1. 使用{}创建字典

 {key(类型):values(相应的类型的值)}

注意:dict的特性:

  • 根据关键字key取获取内容
  • 关键字不能重复
  • 关键字key是不可变数据,因此list,dict不能做关键字

 创建一个空字典和一个包含有int型, float型, b''型, tuple型值的dict

dict_data = {}
dict_data1 = {1: 2, 1.2: 1.5, b'2': b'6', (): (1, '5')}
print(dict_data, dict_data1)

结果:{} {1: 2, 1.2: 1.5, b'2': b'6', (): (1, '5')} 

2.使用dict()进行类型转换

要想转换为dict必须要有dict型的形式即key: values

将tuple型, list型 转换为dict型

tuple_data = ((1, 2), ('he', 'hi'), [5, 4], ["hello", "world"])
dict_data = dict(tuple_data)
print(dict_data, type(dict_data))

显示:{1: 2, 'he': 'hi', 5: 4, 'hello': 'world'} <class 'dict'>

3.如何访问dict中值 

访问字典根据的是key

dict_data = {1: 5, '1': '5', b'2': b'5'}
print(dict_data[1])

显示:5

二,dict内置方法的使用: 

  • 1.删除dict值 clear()

 clear(...)
 D.clear() -> None.  Remove all items from D.   删除dict中所有的值

dict_data = {1: 5, '1': '5', b'2': b'5'}
print(dict_data.clear())

结果None

  •  2.获取dict值 get(),setdefault()

 (1)get()获取值

get(self, key, default=None, /)
Return the value for key if key is in the dictionary, else default.

如果 key 在字典中,则返回 key 的值,否则返回默认值None

dict_data = {1: 5, '1': '5', b'2': b'5'}
print(dict_data.get(1))
print(dict_data.get(5), dict_data)

显示:5
           None {1: 5, '1': '5', b'2': b'5'}

(2) setdefault()方法获取值

 setdefault(self, key, default=None, /)
 Insert key with a value of default if key is not in the dictionary.

输入key,如果key在字典中则返回key相应的值,如果不存在则返回None,并且将所查找key 和返回的None增添到字典中。

dict_data = {1: 5, '1': '5', b'2': b'5'}
print(dict_data.setdefault(1))
print(dict_data.setdefault(5), dict_data)

显示:5
           None {1: 5, '1': '5', b'2': b'5', 5: None}

  • 3.获取dict的键值和值items()

 items(...)
 D.items() -> a set-like object providing a view on D's items  

将字典中的key和values,以元组和列表的显示进行输出

dict_data = {1: 5, '1': '5', b'2': b'5'}
print(dict_data.items())

显示:dict_items([(1, 5), ('1', '5'), (b'2', b'5')])

  • 4获取dict 的键值keys()

 keys(...)
 D.keys() -> a set-like object providing a view on D's keys

 将字典中的key以列表的形式进行输出

dict_data = {1: 5, '1': '5', b'2': b'5'}
print(dict_data.keys())

显示:dict_keys([1, '1', b'2'])

  • 5.获取dict的值列表values()

values(...)
 D.values() -> an object providing a view on D's values

 将字典中的values以列表的形式进行输出

dict_data = {1: 5, '1': '5', b'2': b'5'}
print(dict_data.values())

显示:dict_values([5, '5', b'5'])

  • 6.删除dict中的键pop(),popitem()

(1)pop()的使用

pop(k[,d])

remove specified key and return the corresponding value.

移除指定的键并返回相应的值。

dict_data = {1: 5, '1': '5', b'2': b'5'}
print(dict_data.pop(1), dict_data)

显示:5 {'1': '5', b'2': b'5'}

(2)popitem()的使用

 popitem(self, /)
 Remove and return a (key, value) pair as a 2-tuple.

从字典中删除最后面的键值对,并返回

直到字典被删除至空,则引发异常 KeyError。

  •  7.增添字典的内容 updata(),访问增添法

(1)updata()将字典与另一个字典或可迭代的键值对合并。

dict_data = {1: 5, '1': '5', b'2': b'5'}
dict_data1 = {(): (1, 5), "he": "haha"}
dict_data.update(dict_data1)
print(dict_data)

显示:{1: 5, '1': '5', b'2': b'5', (): (1, 5), 'he': 'haha'}

(2)访问增添法

dict_data = {1: 5, '1': '5', b'2': b'5'}
dict_data[5] = 6
print(dict_data)

显示:{1: 5, '1': '5', b'2': b'5', 5: 6}

  • 8.拷贝字典copy()

copy(...)
 D.copy() -> a shallow copy of D
 get(self, key, default=None, /)
 Return the value for key if key is in the dictionary, else default.

1.浅拷贝

dict_data = {1: 5, '1': '5', b'2': b'5', (): (1, 2)}
dict_data1 = dict_data.copy()
print(dict_data1)
print(id(dict_data[()]), id(dict_data1[()]))

显示:{1: 5, '1': '5', b'2': b'5', (): (1, 2)}
            2986175855424 2986175855424

2.深拷贝

import copy

dict_data = {1: [1, 2, 3]}
dict_data1 = dict_data.copy()
dict_data2 = copy.deepcopy(dict_data)
print(dict_data1)
print(dict_data2)
print(id(dict_data), id(dict_data1), id(dict_data2))
print(id(dict_data[1]), id(dict_data1[1]), id(dict_data2[1]))
print(id(dict_data[1][0]), id(dict_data1[1][0]), id(dict_data2[1][0]))
print(id(dict_data[1][1]), id(dict_data1[1][1]), id(dict_data2[1][1]))
print(id(dict_data[1][2]), id(dict_data1[1][2]), id(dict_data2[1][2]))

显示:

{1: [1, 2, 3]}
{1: [1, 2, 3]}
2506703793856      2506702801728     2506704041984
2506704042304      2506704042304     2506703925376
140725397418792 140725397418792 140725397418792
140725397418824 140725397418824 140725397418824
140725397418856 140725397418856 140725397418856

两则的区别:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值