Python基础语法学习(3)

Python基础语法学习(3)

容器:元组、字典、集合

  1. 元组的定义和特点

    元组特点:定义元组使用小括号,且逗号隔开各个数据,数据可以是不同的数据类型

     # 多个数据元组 
        t1 = (10, 20, 30) 
     # 单个数据元组 
        t2 = (10,)
        
    t2 = (10,) 
    print(type(t2)) # tuple 
    t3 = (20) 
    print(type(t3)) # int 
    t4 = ('hello') 
    print(type(t4)) # str
    

    ⼀个元组可以存储多个数据,python中不允许修改元组的数据,包括不能删除其中的元素。

    注意:如果定义的元组只有⼀个数据,那么这个数据后面最好添加逗号,否则数据类型为原本的数据类型而不是元组

  2. 元组的常见操作

    元组数据不支持修改,只支持查找,具体如下:

    按下标查找数据
    tuple1 = ('aa', 'bb', 'cc', 'bb') print(tuple1[0]) # aa 
    
    1.index():

    查找某个数据,如果数据存在返回对应的下标,否则报错, 语法和列表、字符串的index方法相同。

    tuple1 = ('aa', 'bb', 'cc', 'bb') 
    print(tuple1.index('aa')) # 0
    
    2.count():

    统计某个数据在当前元组出现的次数。

    tuple1 = ('aa', 'bb', 'cc', 'bb') 
    print(tuple1.count('bb')) # 2 
    
    3.len():

    统计元组中数据的个数。

    tuple1 = ('aa', 'bb', 'cc', 'bb') print(len(tuple1)) # 4 
    

    注意:元组内的直接数据如果修改则立即报错,但是如果元组里面有列表,修改列表里面的数据则是支持的

    tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30) 
    print(tuple2[2]) # 访问到列表 
    # 结果:(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30) 
    tuple2[2][0] = 'aaaaa' 
    print(tuple2)
    
  3. 字典的定义和特点

    类似哈希表,字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标

    字典的特点:
    • 符号为大括号
    • 数据为键值对形式出现
    • 各个键值对之间用逗号隔开
    # 有数据字典 
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} 
    # 空字典 
    dict2 = {} 
    dict3 = dict() 
    

    注意:⼀般称冒号前面的为键(key),简称k;冒号后面的为值 (value),简称v。

  4. 字典常见操作
    操作目的操作写法
    增加键值对字典序列[key] = 值
    删除键值对/删除字典del() / del 字典序列[key]
    清空字典字典序列.clear()
    key值查找字典序列[key] / 字典序列.get(key, 默认值)
    获取字典的所有的键字典序列.keys()
    获取字典所有的值字典序列.values()
    获取字典所有键值对字典序列.items()

    增加键值对

    注意:如果key存在则修改这个key对应的值;如果key不存在则新增 此键值对

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} 
    dict1['name'] = 'Rose' 
    # 结果:{'name': 'Rose', 'age': 20, 'gender': '男'} 
    print(dict1) 
    dict1['id'] = 110 
    # {'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110} 
    print(dict1)
    

    删除键值对

    del() / del:删除字典或删除字典中指定键值对。

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} 
    del dict1['gender'] # 结果:{'name': 'Tom', 'age': 20} 
    print(dict1)
    

    key值查找

    如果当前查找的key存在,则返回对应的值;否则则报错

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} 
    print(dict1['name']) # Tom print(dict1['id']) # 报错
    
     字典序列.get(key, 默认值) 
    

    注意:如果当前查找的key不存在则返回第⼆个参数(默认值), 如果省略第⼆个参数,则返回None

  5. 字典的遍历
遍历方式操作写法
遍历字典的key可以用for直接遍历 字典序列.keys()
遍历字典的value可以用for直接遍历 字典序列.values()
遍历字典的元素可以用for直接遍历 字典序列.items()
遍历字典的键值对for key,value in 字典序列.items()

遍历字典的key

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} 
for key in dict1.keys():  
    print(key)

遍历字典的value

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} 
for value in dict1.values(): 
    print(value)

遍历字典的每个元素

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} 
for item in dict1.items(): 
    print(item)

遍历字典的键值对

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} 
for key, value in dict1.items(): 
    print(f'{key} = {value}')

实践演练:

在这里插入图片描述

在这里插入图片描述

  1. 集合的定义和特点

Python里的集合其实就是set 自带去重 同样可以储存不同类型元素

创建集合使⽤ {} 或 set() , 但是如果要创建空集合只能使 ⽤ set() ,因为 {} ⽤来创建空字典。

s1 = {10, 20, 30, 40, 50} 
print(s1) 
s2 = {10, 30, 20, 10, 30, 40, 30, 50} 
print(s2) 
s3 = set('abcdefg') 
print(s3) 
s4 = set() 
print(type(s4)) # set s5 = {} print(type(s5)) # dict

集合的特点

1.集合可以去掉重复数据;

2.集合数据是⽆序的,故不⽀持下标

3.{}代表的是空字典,不是空集合,创建空集合,需要set()

  1. 集合的常用操作
操作目的操作方法
增加数据集合.add() / 集合.update()
删除数据集合.remove() / 集合.discard / 集合.pop()
查找数据in 和 not in

增加数据

s1 = {10, 20} 
s1.add(100) 
s1.add(10) 
print(s1) # {100, 10, 20} 

因为集合有去重功能,所以,当向集合内追加的数据是当前集合已 有数据的话,则不进行任何操作

    s1 = {10, 20} 
    # s1.update(100) # 报错 
    s1.update([100, 200]) 
    s1.update('abc') 
    print(s1)

update(), 追加的数据是序列。

删除数据

s1 = {10, 20} 
s1.remove(10) 
print(s1) 
s1.remove(10) # 报错 
print(s1) 

remove(),删除集合中的指定数据,如果数据不存在则报错

s1 = {10, 20} 
s1.discard(10) 
print(s1) 
s1.discard(10) 
print(s1)

discard(),删除集合中的指定数据,如果数据不存在不会报错

 s1 = {10, 20, 30, 40, 50} 
    del_num = s1.pop() 
    print(del_num) 
    print(s1)

pop(),随机删除集合中的某个数据,并返回这个数据。

查找数据

s1 = {10, 20, 30, 40, 50} 
print(10 in s1) 
print(10 not in s1)

in:判断数据在集合序列

not in:判断数据不在集合序列

实践演练:

在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值