Python基础语法-容器-元组和字典

Python基础语法-元组和字典

1.元组 (tuple)

1.1 元组特性

元组是容器型数据类型,将()作为容器的标志,多个元素用逗号隔开。

语法:(元素1, 元素2, 元素3, …)

特点:

  1. 元组不可变
  2. 元组是有序的
  3. 任何类型的数据都可以作为元组的元素

验证:

a = 0
t1 = (True, 1, 1.25, '123', [10, 20], a)
print(t1, type(t1))

验证结果:

在这里插入图片描述

***注:***判断一个数据是否是某几个数据中的一个,可以用in操作

验证:

# 判断num是否是数字或字符串
# 方案1:
num = 23
if type(num) == int or type(num) == float or type(num) == str:
	print('是数字或字符串')

# 方案二
if type(num) in (int, float, str)
	print('是数字或字符串')

验证结果:

在这里插入图片描述

1.2 相关操作

  • max和min

    max(元组)

    min(元组)

  • sum

    sum(元组)

  • sorted

    sorted(元组)

  • 类型转换

    tuple(序列)

  • count

    元组.count(元素)

  • index

    元组.index(元素)

  • len

    len(元组)

特殊情况:

  1. 只有一个元素的元组

    语法:(元素,)

    例:

    t = (2,)
    print(t1, type(t1))
    
  2. 元组在没有歧义的情况下可以省略()

    例:

    t = 1, 2, 3
    print(t2, type(t2))
    
  3. 同时使用多个变量获取元组的元素

    • 让变量的个数和元组中元素数据保持一致

      例:

      t2 = 1, 2, 3
      a, b, c, = t2
      print(a, b, c) # 将元组中每个元素按顺序依次赋值给变量
      
    • 让变量的个数小于元素的个数,但必须在某一个变量前加 * ,

      1. 先让不带 * 的变量按照位置获取元素
      2. 剩下的部分全部保存到带 * 的变量对应的列表当中

      例:

      t2 = 1, 2, 3, 4, 5, 6
      print(a, b, c)
      x, *y, z = t2
      print(x, *y, z)
      

    当有一组数据需要保存,需要重复使用,并且不能修改元素数量,元素顺序,元素时,使用元组。

2.字典(dict)

字典是容器型数据类型,将 {} 作为容器的标志,多个键值对用逗号隔开。

2.1特点

  1. 字典是可变的;
  2. 字典是无序的。

2.2对元素的要求

  1. 元素必须是键值对;
  2. 键:只能是不可变的数据,例如:元组、字符串、数字。键是唯一的,目的是对值做区分和说明;
  3. 值:真正要保存的数据,可以是任意数据。

2.3获取字典的值

  1. 获取字典保存的一个值

    语法1:字典[键]

    语法2:字典.get(键)

    语法3:字典.get(键, 默认值)

  2. 遍历字典

    语法:

    for 变量 in 字典:

    ​ 循环体

    例:

        'name': 'Python2106',
        'address': '9教',
        'lecturer': {
            'name': '余婷',
            'age': 18,
            'tel': '13678192302',
            'QQ': '726550822'
        },
        'head_teacher': {
            'name': '张瑞燕',
            'tel': '110',
            'QQ': '7283211'
        },
        'students': [
            {
                'name': '陈来',
                'age': 20,
                'gender': '女',
                'score': 98,
                'contacts': {
                    'name': 'p2',
                    'tel': '120'
                }
            },
            {
                'name': '葛奕磊',
                'age': 25,
                'gender': '男',
                'score': 80,
                'contacts': {
                    'name': 'p1',
                    'tel': '119'
                }
            }
        ]
    }
    
    print(class1['name']) # 1. 获取班级的名字
    
    print(class1['lecturer']['name'], class1['lecturer']['age']) # 2. 获取讲师的名字和年龄
    
    print(class1['head_teacher']['name'], class1['head_teacher']['tel']) # 3. 获取班主任的名字和电话
    
    print(class1['students'][0]['name']) # 4. 获取第一个学生的姓名
    
    for x in class1['students']:
        print(x['contacts']['name']) # 5. 获取所有学生的联系人的名字
    
    a = 0
    for score in class1['students']:
            a += score['score']
    b = len(class1['students'])
    print(a / b) # 6. 计算所有学生的平均分
    

2.4增、删、改

  1. 增加键值对;

  2. 修改键对应的值;

    语法:字典[键] = 值

  3. 删除字典里的键值对

    语法1:del 字典[键]

    语法2:字典.pop[键]

    ***注:***字典里键值对同生共死,值删除键也会被删除。

`

2.4增、删、改

  1. 增加键值对;

  2. 修改键对应的值;

    语法:字典[键] = 值

  3. 删除字典里的键值对

    语法1:del 字典[键]

    语法2:字典.pop[键]

    ***注:***字典里键值对同生共死,值删除键也会被删除。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值