python(基础篇)元组和字典的使用和讲解及代码详解

1.元组的简介

元组基本介绍:
元组表现形式tuple
元组是⼀个不可变序列(⼀般当我们希望数据不改变时,我们使⽤元组,其他
情况下基本都⽤列表)
使⽤()创建元素
元组不是空元组⾄少有⼀个 逗号(,) 当元组不是空元组时括号可以省略
元组解包指将元组当中的每⼀个元素都赋值给⼀个变量

tuple_one=(5,)   #元组的最基本形式   使用()创建 元素
#不能是空元组,元组里最少要有一个逗号
tuple_two=5,'python',7.8  #当元组不是空元组时 括号可以省略
tuple_three=(3,'python',True,5.8)  #元组里可以是任意形式 数字 小数 字符串 bool值

value_num=(9,'python','java',9.9)
a,b,c,d=value_num             #对元组进行解包

print(tuple_one,'查看类型',type(tuple_one))
print(tuple_two,'查看类型',type(tuple_two))
print(tuple_three,'查看类型',type(tuple_three))
print('a=',a,'  b=',b,  '  c=', c,'  d=',  d    ,'查看类型',type(tuple_three),type(a),type(b))

在这里插入图片描述

2.可变对象

Python中,数值类型(int和float)、字符串str、元组tuple都是不可变类型
⽽列表list、字典dict、集合set是可变类型
可变对象中都保存了三个数据
id(标识)、type(类型)、value(值)
一般情况只有在为变量赋值的时候才是修改变量,其余的情况都是修改对象的值

tuple_one=('python','php','java','javascrip')
#tuple_one[2]='abc' 不可以这样进行修改值   列表可以通过此方法修改元素
a,b,c,d=tuple_one
c='abc'              #不可以进行对tuple_one修改
print(tuple_one)
print(a,b,c,d)

在这里插入图片描述

my_tuple = 10,20,30,40,50     #在出现变量和元素不对等时 用*进行转换 加*的变量返回列表
a,b,*c  = my_tuple
print('修改后','a =',a,'b =',b,'c =',c)
a,*b,c  = my_tuple
print('修改后','a =',a,'b =',b,'c =',c)
*a,b,c  = my_tuple
print('修改后','a =',a,'b =',b,'c =',c)

在这里插入图片描述

a,*b,c = 'hello world!'    #对字符串进行拆解 转成列表
print('a =',a)
print('b =',b)
print('c =',c)

在这里插入图片描述

3.字典的简介

3.1字典的基本介绍
字典属于⼀种新的数据结构称为映射(mapping)
字典的作⽤和列表类似,都是⽤来存储对象的容器
列表存储数据的性能好,但是查询数据的性能差,字典正好与之相反
在字典中每⼀个元素都有唯⼀的名字,通过这个唯⼀的名字可以找到指定的
元素
这个唯⼀的名字我们称之为key 通过key可以快速查询value 也可以称之为值
字典我们也称之为键值对(key-value)结构
每个字典中都可以有多个键值对,⽽每⼀个键值对我们称其为⼀项(item)
创建⼀个有数据的字典 语法 {key:value}
字典的值可以是任意对象 字典的键可以是任意的不可变对象(int str bool
tuple…)
字典的键是不能重复的,如果出现重复的后⾯的会替换前⾯的

dict_a={'one':1,'two':2,'three':'python'}    #创建字典
print(dict_a['one'],dict_a['three'])        #选取字典中指定的值

在这里插入图片描述
3.2字典的使用
dict()函数来创建字典
get(key[,default]) 根据键来获取字典的值。第⼆个参数可以指定⼀个默认
值,当获取不到值的时候会返回默认值
update() 将其他字典的key-value添加到当前的字典当中
del 删除字典中的key-value
popitem() 删除字典最后的⼀个key-value 这个⽅法是有返回值的。删除之
后它会将删除的key-value作为返回值返回
pop(key[,default]) 根据key删除⾃定中的value。第⼆个参数可以指定⼀个
默认值,当获取不到值的时候会返回默认值

dict_a={'one':(1,'java'),'three':'python'}   #双值子序列
print(dict_a['one'])         #获取字典中的值


dict_b=dict(one=1,two=2,three='python',four='java') #使用dict()进行创建 字典
print(len(dict_b))    #检查字典中获取键的值 个数
print('two' in  dict_b)      #in  和 not in  判断知否存在于字典中

del dict_b['one']        #删除字典中选取的  key-value
print(dict_b,'删除')

dict_b.popitem()#删除字典中的元素的最后一个
print(dict_b)

dict_b['name']='hello'#添加一个元素
print(dict_b,'添加元素或替换')

dict_a=dict(one=1,two=2,three='python',four='java')
dict_b.update(dict_a)    #更新选定的字典
print(dict_b,'更新')

dict_b.pop('three')   #删除选定的值并返回
print(dict_b)

在这里插入图片描述

3.3 copy()
copy() ⽅法⽤来对字典进⾏潜复制
注意:潜复制只会复制字典本身,如果字典中还有个字典是不会进⾏复制的

my_dict={'one':'python','two':'java','three':'go','four':'php'}
a=my_dict.copy()
my_dict['one']='c'   # 复制后的对象和原对象是独立,修改一个不会影响另一个
print(a)
print(my_dict)
#浅复制只会复制字典本身 ,字典中套字典不会被复制
my_dict2={'one':{'python1':'list','python2':'dict'},'two':'java','three':'go','four':'php'}
b=my_dict2.copy()
b['one']['python1']='tuple'
print(b,id(b))
print(my_dict2,id(my_dict2))

在这里插入图片描述

4.遍历字典

我们主要可以通过3种方式对字典进行遍历
keys() 该方法返回字典所有的key
values() 该方法返回一个序列 序列中保存有字典的值
items() 该方法会返回字典中所有的项 它返回一个序列,序列中包含有双值子序列 双值分别时key 和value

dict_one={'name':'wise','age':5,'birth':2020,'name2':'apple'}
for a in dict_one.keys():   #第一种
    print(dict_one[a])
print('-'*50)
for b in dict_one.values():    #第二种
    print(b)
print('-'*50)
for k,j in dict_one.items():   #第三种
    print(k,j)

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值