python基础知识笔记(元组、字典和集合)

1 元组

  • 类型:tuple,tup=(1,2,3)或tup=1,2,3
  • 不可变序列
  • 元组不是空的,至少得有一个
  • 元组的解包,将元组当中的每一个元素赋值给变量
tup=[1,2,3,4,5]  #返回[1, 2, 3, 4, 5] <class 'list'>,**用[],返回的是列表**
tup=1,2,3,4,5  #返回(1, 2, 3, 4, 5), <class 'tuple'>
tup=(1,2,3,4,5) #返回(1, 2, 3, 4, 5), <class 'tuple'>,结果与上面是一样的
tup=tup[2]   #返回  3   <class 'int'>,使用与列表一样
print(tup,type(tup))
a,b,*c=tup  #元组的解包,把元组的元素赋值给前面的变量
print(a) #返回  1
print(b) #返回  2
print(c) #返回 [3, 4, 5],当变量小于元组元素数量时,可在前面的任一变量前加*,这样会获取元祖中剩余的元素

2 字典

  • 映射 mapping
  • 字典的特点,查询性能好,储存的性能较差
  • 字典也称之为key-value的结构,键值
  • 字典的使用
函数含义
dict()用函数创建字典,如d=dict(a=钢铁侠’,b=3),返回{a:‘钢铁侠’,b:2}
get(key,default=None)根据键来获取字典的值。第二个参数可以指定一个,默认值,当获取不到值的时候会返回默认值
update将另一个字典的key-value添加到当前字典中
del删除字典中的key-value
popitem()删除字典最后的一个key-value值,这个方法有返回值,删除之后它会将删除的key-value值作为返回值返回
pop(key,default])根据key删除自定中的value。第二个参数可以指定一个默认值,当获取不到值的时候返回默认值
copy()浅复制,只会复制字典本身,如果字典中还有字典是不会进行复制的
####################       创建字典       ###################
#  使用dict()函数来创建字典
d = dict(name='钢铁侠',age=35,sex='男') #创建字典,返回{'name': '钢铁侠', 'age': 35, 'sex': '男'}
d = dict([('name','钢铁侠'),('age',35,),('sex','男')])  #返回 {'name': '钢铁侠', 'age': 35, 'sex': '男'},将一个包含有双值子序列列表转换为字典
d = dict([[1,2] ,('b','a'), ('ab')]) #返回 {1: 2, 'b': 'a', 'a': 'b'},注意格式dict([]),里面是一个序列,一个元素两个值,分别对应key和value

####################       字典取值       ###################
d={'name': '钢铁侠', 'age': 35, 'sex': '男'}
d=d['name']  #返回 钢铁侠,通过key值,获取value值
d=d.get('name','没有值')     #返回 钢铁侠 ,
d=d.get('na','抱歉没有值')   #返回 抱歉没有值,get(key,default=None),键(key)有,则返回其值(value),没有,则返回默认值
####################       字典修改       ###################
d={'name': '钢铁侠'}
d['name'] ='葫芦娃'            #返回 {'name': '葫芦娃'},通过键(key),修改值(value)
d['籍贯']='中国'               #返回 {'name': '葫芦娃','籍贯': '中国'},赋值key-value
d.setdefault('a','b')         #返回 {'name': '葫芦娃','籍贯': '中国', 'a': 'b'},向字典中添加 key-value另一种方法。
d.setdefault('name','b')      #返回 {'name': '葫芦娃','籍贯': '中国', 'a': 'b'},如果添加的key,字典中已有,则不会改变
t={'a':'b','学历':'大学'}
d.update(t)    #返回 {'name': '钢铁侠','a': 'b', '学历': '大学'},添加其他字典到本字典
del d['name']  #返回 {'a': 'b', '学历': '大学'},根据键(key),删除值(value)
d.popitem()    #返回 {'a': 'b'},删除最后一个值,并返回('学历', '大学')
d=d.pop('a','没有这值')       #返回 b  ,删除key指定的value,没有则返回默认值

3 遍历字典

函数含义
d.key()返回字典所有的key
d.values()返回一个序列,序列中保存有字典的值
d.items()返回字典中的所有项,它返回一个序列,序列中包含有双值子序列,双值分别是字典中的key和value
####################       遍历字典       ###################

d = {'name':'钢铁侠','age':38,'sex':'男'}
d1=d.keys()     #返回  dict_keys(['name', 'age', 'sex']),类型是<class 'dict_keys'>,
d2=d.values()   #返回  dict_values(['钢铁侠', 38, '男']),类型是<class 'dict_values'>
d3=d.items()    #返回  dict_items([('name', '钢铁侠'), ('age', 38), ('sex', '男')]),类型是<class 'dict_items'>
for i in d1:
    if i=='name':
       print(d[i])  #返回  钢铁侠
for i in d2:
    print(i)  #返回  钢铁侠  38   男
for i,j in d3:
    if i=='age':
       print(i,'=',j)  #返回  age = 38

4 集合

  • 不同点 列表
  • 集合只能储存不可变对象
  • 集合储存的对象是无序的
  • 集合不能出现重复元素
  • set() 函数可以用来创建集合
####################       集合       ###################

s = {20,10,1,2,3,4,100,1,2,3,4,1,1,1}
s1=set(s)    #返回 {1, 2, 3, 4, 100, 20, 10} 可以将序列和字典转换为集合
d={'name': '钢铁侠', 'age': 35, 'sex': '男'}
d1=set(d)      #返回 {'age', 'sex', 'name'} <class 'set'> ,字典转集合,只会包含字典中的键
d2=list(d1)[0] #返回 age <class 'str'>
s = set('hello') #返回 {'e', 'o', 'h', 'l'} <class 'set'>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值