当前位置:网站首页>元组 字典 集合

元组 字典 集合

2022-08-09 09:47:00 吴喜钟

一.元组

1.元组的基本介绍

1.1 元组的表现形式tuple
1.2创建元组的方法:tuple()

tu = tuple()

1.3 元组是一个不可变序列
1.4 如果元组不是空的至少包括一个逗号,当元组不是空元组时括号可以省略
1.5 元组的解包:将元组中的每一个元素都赋值给一个变量。

a,b,c = 1,2,3
print('a=',a)
print('b=',b)
print('c=',c)
 

二.字典的简介

1.字典的介绍:字典属于一种新的数据类型,简称映射(mapping)

2.字典的特点:
2.1 字典相对于列表的存储性能比较差,但查询性能好,列表的存储性能好,但查询性能相对差。
2.2 字典中的键是唯一不能重复的,如果出现重复后面的会替换前面的
2.3 字典的值可以是任意的对象,字典的键可以是任意不可变对象
2.4 字典的作用与列表相似,都是用来存储对象的容器。

3.字典的使用方法
3.1 dict()该函数可创建字典
方法一:

dr = dict(name='葫芦娃',age=18,gender='female')

方法二:

dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])

3.2 get(key[,default]) 根据键来获取字典的值。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值

dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])

r = dr.get('classmate','boy')

3.3 通过key来修改字典中对应的value值或者向字典中添加key-value键值对

3.3.1 如果字典中有对应的key,则修改字典中key对应的value值

dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
dr['name'] ='小朋友’
print(dr)

输出结果:

 {
    'name':'小朋友','age':18,'gender':'female'}

3.3.2 如果字典中没有对应的key,则表示向字典添加新的key-value键值对

dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
dr['classmate'] ='男生’
print(dr)

输出结果:

 {
    'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}

3.4 update() 将其他字典的key-value添加到当前的字典当中

dr =  {
    'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}

dr_one = {
    'birthday':20200909,'style':'deli'}

dr.update(dr_one)
print(dr)

输出结果:

{
    'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生', 'birthday': 20200909, 'style': 'deli'}

3.5 del 删除字典中的key-value

3.6 popitem()随机删除字典中的key-value键值对,一般都会删除字典中的最后一个,该方法有返回值,返回值为删除的key-vakue键值对组成的元组

dr =  {
    'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}

r = dr.popitem()
print(r)
print(dr)

输出结果:

('classmate', '男生')
{
    'name': '葫芦娃', 'age': 18, 'gender': 'female'}

3.7 pop(key[,default]) 根据key删除指定的value,该方法也有返回值,返回的是删除的key对应的value。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值

dr =  {
    'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}

dr.pop('name')
print(r)
print(dr)

输出结果:

葫芦娃
{
    'age': 18, 'gender': 'female', 'classmate': '男生'}

3.8 setdefault(key,value) :当字典中已经有相应的相同key的名字时,该方法不会对字典有任何作用,当字典中没有该key的相同的名字时,则会向字典中添加指定的key-value键值对

dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])

dr.setdefault('name','hello')
print(dr)
dr.setdefault('seion','hay')
print(dr)

输出结果:

{
    'name': '葫芦娃', 'age': 18, 'a': 'b', 'gender': 'female'}
{
    'name': '葫芦娃', 'age': 18, 'a': 'b', 'gender': 'female', 'seion': 'hay'}

三.浅复制与深复制(该方法不仅适用于字典,也适用于列表等)

1.copy() 方法用来对字典进行浅复制
注意:浅复制只会复制字典本身,如果字典中还有个字典是不会进行复制的

dr =  {
    'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
d = dr.copy()
print(d)

输出结果:

{
    'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生'}

2.deepcopy()用来对字典进行深复制
注意:深复制不仅会复制字典本身,如果字典中还有个字典是同样可以进行复制的

import copy
dr =  {
    'name':'葫芦娃','age':18,'gender':'female','classmate':'男生','li':[1,2,3,4]}

d = copy.deepcopy(dr)
d['li'][0] = 'hello'
print(d)
print(dr)


输出结果:

{
    'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生', 'li': ['hello', 2, 3, 4]}
{
    'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生', 'li': [1, 2, 3, 4]}

四.遍历字典

1.keys() 该方法法返回字典所有的key

语法:

dr =  {
    'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}

for key in dr.keys():
	代码块

2.values() 该方法返回一个序列 序列中保存有字典的值

语法:


```python
dr =  {
    'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}

for value in dr.values():
	代码块

3.items() 该方法会返回字典中所有的项 它返回一个序列,序列中包含有双值子序列 双值分别是 字典中的key和value

语法:

dr =  {
    'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}

for i in dr.items():
	代码块
原网站

版权声明
本文为[吴喜钟]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_49383182/article/details/108489553