【第7天】Python第一阶段学习总结

2021/09/23

一. 元组

  1. 元组的定义

    • 元组是容器型数据(序列),将()作为容器的标志里面多个元素用逗号隔开:(元素1, 元素2,…)
    • 元组不可变(不支持增删改);元组是有序的(支持下标操作)
    • 元素:任何类型的数据
    t1 = (10, 20, 30)
    print(t1, type(t1))t2 = (10, 'abc', False, [10, 230])
    print(t2)t3 = ()  # 空元组
    print(t3, type(t3))
    
  2. 元组就是不可变的列表

    • 列表中除了和增、删、改相关操作以外的操作,元组都支持

    例如:查、相关操作、相关方法(除了增删改相关的)、相关函数

    # 判断一个数据是否是某种类型中的一种
    num = 23
    t_num = type(num)
    if t_num == int or t_num == float or t_num == str:print('是数字或者字符串')if t_num in (int, float, str):print('是数字或者字符串')
    
  3. 元组特殊或者常用的操作

    1. 只有一个元素的元组:(元素,)

      list1 = [10]
      print(list1, type(list1))t1 = (10,)
      print(t1, type(t1))
      
    2. 元组在没有歧义的情况下可以省略()。直接用逗号将多个数据隔开,表示的也是一个元组

      t2 = 10, 20, 30, 40, 50
      print(t2, type(t2))
      
    3. 同时使用多个变量获取元组的元素(列表也支持)

      t3 = ('小明', 18, 90)
      print(t3[0])
      

      a. 让变量的个数和元组中元素个数保持一致

      name, age, score = t3
      print(name, age, score)point = (100, 200)
      x, y = point
      print(x, y)
      

      b. 让变量的个数小于元组元素的个数,但是必须在某一个变量前加*

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

      t3 = ('小明', 18, 170, 80, 99, 80, 76)
      x, y, *z = t3
      print(x, y, z)     # 小明 18 [170, 80, 99, 80, 76]x, *y, z = t3      # 小明 [18, 170, 80, 99, 80] 76
      print(x, y, z)*x, y, z = t3      # ['小明', 18, 170, 80, 99] 80 76
      print(x, y, z)x, *y, z, t = t3
      print(z)     # 80
      print(y)     # [18, 170, 80, 99]
      

    二. 字典

  4. 什么是字典

  5. 字典是容器型数据类型(序列),将{}作为容器的标志,里面多个键值对用逗号隔开:{键1:值1,键2:值2, 键3:值3,…}
    键值对: 键:值

  6. 字典是可变的(支持增删改);字典是无序的(不支持下标操作)

  7. 元素 - 键值对
    键 - 必须是不可变的数据,例如:元组、数字、字符串。键是唯一的。
    值(才是真正想要保存的数据) - 没有要求

# 1)空字典
dict1 = {}
print(dict1, type(dict1))# 2) 键是不可变的数据
dict2 ={'a': 10, 1: 20, (1, 2): 30}
print(dict2)# dict2 ={'a': 10, 1: 20, [1, 2]: 30}
# print(dict2)     # 报错!# 3)键是唯一的
dict3 = {'a': 10, 1: 20, 'a': 30}
print(dict3)      # {'a': 30, 1:

三. 获取字典的值

  1. 查单个

    1. 字典[键] - 获取字典中指定键对应的值;当键不存在的时候会报错
    2. 字典.get(键) == 字典.get(键,None) - 获取字典中对应的值;当键不存在不会报错,返回None
    3. 字典.get(键,默认值) - 获取字典中对应的值;当键不存在不会报错,返回默认值
    dog = {'name': '小黑', 'breed': '哈士奇', 'age': 3, 'color': '黑色'}
    print(dog['breed'])
    print(dog.get('name'))# print(dog['gender'])         # 报错
    print(dog.get('gender'))       # Nonestudent = {'name': '小明', 'age': 18, 'gender': '男'}
    print(student['age'])
    print(student.get('name'))
    print(student.get('contacts', '110'))
    
  2. 遍历

    for 变量 in 字典:循环体注意: 变量取到的是键dog = {'name': '小黑', 'breed': '哈士奇', 'age': 3, 'color': '黑色'}
    for x in dog:print(x, dog[x])
    
    # 练习:用一个字典保存一个班级信息
    class1 = {'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'}}]
    }# 1. 获取班级的名字
    print(class1['name'])# 2. 获取讲师的名字和年龄
    print(class1['lecturer']['name'], class1['lecturer']['age'])# 3. 获取班主任的名字和电话
    print(class1['head_teacher']['name'], class1['head_teacher']['tel'])# 4. 获取第一个学生的姓名
    print(class1['students'][0]['name'])# 5. 获取所有学生的联系人的名字
    for x in class1['students']:print(x['contacts']['name'])# 6. 计算所有学生的平均分
    scores = []
    for x in class1['students']:print(x['score'])scores.append(x['score'])
    print('平均分是:', sum(scores) / len(scores))
    

四. 字典的增删改

  1. 增 - 添加键值对

  2. 改 - 修改键对应的值

语法:字典[键] = 值   -  当键存在的时候是修改,键不存在是修改
goods = {'name': '泡面', 'price': 3.5}
print(goods)goods['count'] = 10
print(goods)goods['price'] = 4
print(goods)
  1. del 字典[键] - 删除字典中指定键对应的键值对

goods = {'name': '泡面', 'price': 4, 'count': 10}
del goods['price']
print(goods)
  1. 字典.pop(键) - 取出字典中指定键对应值
goods = {'name': '泡面', 'price': 4, 'count': 10}
result = goods.pop('price')
print(goods)    # {'name': '泡面', 'count': 10}
print(result)   # 4

Python第一阶段学习总结相关推荐

  1. Python第一阶段学习 day14

    """根目录:主模块所在文件夹main.py包(文件夹)模块(文件)类函数语句 """ # 路径:从项目根目录开始写# 我过去 # impo ...

  2. Python第一阶段学习 day10

    """ 创建员工类/部门类,修改实现下列功能.1. 定义函数,打印所有员工信息,格式:xx的员工编号是xx,部门编号是xx,月薪xx元.2. 定义函数,打印所有月薪大于2 ...

  3. 风火轮编程Python第一阶段课程检测评估单

    风火轮编程Python第一阶段课程检测评估单 姓名:                              一.单选题,把正确的答案编号写在问号后面. 1.python在英文中的本意是?     ...

  4. 大数据第一阶段学习笔记

    开始:2022年11月6日 以下内容仅为个人笔记整理.(第一阶段的内容并不完全.硬件上有点问题,暂时无法解决,空着的部分后续补上.) 第0章 大数据介绍 大数据可以从事的职位有: 大数据工程师 数据分 ...

  5. coreboot学习10:coreboot第一阶段学习小结

    时间过得真快,从今年2月份开始到4月份,断断续续摸索coreboot的源码.限于精力但又不想让人误以为笔者是个容易放弃的人,只好匆匆将前面所做的工作称为第一阶段,用时髦的话,也叫一期工程.此文做些阶段 ...

  6. 嵌入式之uboot源码分析-启动第一阶段学习笔记

    注: 以下的内容来自朱老师物联网大讲堂uboot部分课件 Uboot启动第一阶段start.S执行步骤 1.头文件包含 <config.h>(x210的各种宏定义) <version ...

  7. python第一周学习总结+初辨python与c语言的区别

    首先是python的第一周学习总结 从注释.变量.字符串格式化,到运算符和流程控制,再到数据类型 1.注释:python的单行注释是# (快捷键是Ctrl+/),多行注释""&qu ...

  8. 对于第一阶段学习的总结

    阶段总结 杨芳芳 第一阶段的学习就到此结束了,在这一段时间中,学到了很多以前没有接触过的知识,让我对java有了很大的了解,并且能够自己编写一些小程序了.下面就是我对于在这段期间的学习情况的总结. 由 ...

  9. uboot分析第一阶段学习笔记

    ############################################## makefile文件 ########################################## ...

最新文章

  1. Git 常用操作(6)- 推送到远程仓库(git push)删除远程分支(git push origin --delete)
  2. 二次开发基于无线网卡的扫描
  3. mysql conflicts with_安装MYSQL错误“conflicts with file from package mysql-libs-*” 解决方法...
  4. 浅谈工作流引擎的几个关键因素
  5. python executemany
  6. TF之LSTM:利用基于顺序的LSTM回归算法对DIY数据集sin曲线(蓝虚)预测cos(红实)(TensorBoard可视化)
  7. 代码UITableView点击cell跳转
  8. 垂直居中重要方法理解---重点是方法三
  9. HihoCoder - 1441 后缀自动机一·基本概念(模拟,后缀自动机入门好题)
  10. django from组件 实现增加 删除 编辑(推荐用法)
  11. 单片机软件模拟SPI接口—加深理解SPI总线协议
  12. hadoop第一个例子
  13. ros机器人写字,svg图片绘制,二三阶贝塞尔计算公式转代码
  14. 计算机管理创建新用户,win7系统添加新用户名的方法和win7系统计算机管理中没有本地用户和组的解决方法...
  15. capjoint一些生成文件的解释
  16. 2020h黑苹果 y7000p_黑苹果安装教程Y7000P
  17. 传奇服务端GOM引擎和GEE引擎区别在哪里?
  18. 基于JSP+Servlet+MySQL的在线问卷调查系统(附论文)
  19. jenkins下载插件慢解决方式
  20. 远期债券收益率期望曲率调整

热门文章

  1. English Interview Question
  2. 5-1 决策树的模型
  3. 我就是故事里面的兔子
  4. MS5358 适合用于像 DTV,DVR 和 AV 接收器的系统
  5. 演绎另类黑客马拉松,机智云第二届中国智能硬件36小时开发大赛再现极速开发...
  6. 【实习】解决请求参数过长问题
  7. 新一代图片编解码技术在淘宝的应用及落地
  8. 杭电ACM-LCY算法进阶培训班-专题训练09
  9. GD32测量pwm波频率以及占空比
  10. SkeyeVSS+SkeyeARS水库水情监测系统保障水库安全度汛解决方案