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)