Python基础篇(七)

  • 前言
  • 一、元组
    • 1.1 元组的定义
    • 1.2 元组的常见操作
  • 二、字典
    • 2.1 字典的语法
    • 2.2 字典常见操作
    • 2.3 字典的循环遍历
  • 三、任务清单
    • 3.1 基础练习
    • 3.2 提升练习
  • 总结

前言

有些日子没出现了,士别三日甚是想念哈哈哈哈,话不多说,直接给大家上干货,准备好你们的小板凳拿起你们的小零食,让我们开始吧。

一、元组

说明:一个元组可以存储多个数据,元组内的数据是不能修改的。

1.1 元组的定义

  • 语法格式
变量名 = (数据1,数据2,数据3....)# 举例
t1 = (10,20,30)
t2 = [10,20,30]
print(type(t1))  # 结果为tuple 元组
print(type(t2))  # 结果为list  列表"""
定义的元组即使只有一个元素,末尾也要加上逗号,否则系统认为不是元组类型
"""
t4 = (10)
print(type(t4))  # 结果为 int 整型
t5 = (10,)
print(type(t5))  # 结果为 tuple 元组

1.2 元组的常见操作

注意:元组数据不支持修改,只支持查找

  1. 按下标查找数据
# 举例
t1 = (10,20,30)
print(t1[0])  # 结果为 10
  1. index():检测某个数据是否包含在元组中,如果在,返回这个数据开始位置的下标索引,否则报错。
# 举例
t1 = (10,20,30)
print(t1.index(20))  # 结果为 1
print(t1.index(50))  # 结果为 报错
  1. count():统计指定数据在当前元组中出现的次数。
# 举例
t1 = (10,20,30,10)
print(t1.count(10))  # 结果为 2
print(t1.count(20))  # 结果为 1
  1. len():访问元组长度,即元组中元素的个数。
# 举例
t1 = (10,20,30,10)
print(len(t1))  # 结果为 4
  1. 如果元组中的元素是列表类型,则可以修改列表中的元素
# 举例
t1 = (10,20,['a','b','c'],200)
t1[2][0]='aaaa'
print(t1)   # 结果为 (10, 20, ['aaaa', 'b', 'c'], 200)

二、字典

2.1 字典的语法

  • 语法格式
"""
符号为{}
数据为 键值对 形式出现
各个键值对用 逗号 隔开
name 叫做键(key)
张三:值 (value)
键和值之间使用 : 分割
键用以说明值得意义
值如果是字符串类型,需要用引号包含起来,反之不用
"""# 举例
p2 = {'name': '张三','gender': '男','age': 20,'tel': '1564566','weight': 120,'height': 178}  # dict
print(type(p2))  # 结果为 dict 字典

2.2 字典常见操作

# 语法格式:
字典序列[key] = 值# 注意: 如果 key 存在则修改这个 key 对应的值,如果 key 不存在则新增此键值对。
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}dict1['name'] = '狂徒'
# 结果为 {'name': '狂徒', 'gender': '男', 'age': 20, 'tel': '1564566'}
print(dict1)dict1['id'] = 123
# 结果为 {'name': '张三', 'gender': '男', 'age': 20, 'tel': '1564566', 'id': 123}
print(dict1)
  1. del() :删除字典或删除字典中指定键值对。
# 举例
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}del dict1['name']
# 结果为 {'gender': '男', 'age': 20, 'tel': '1564566'}
print(dict1)del dict1
# 结果为 报错 因为字典已被删除,不存在了
print(dict1)
  1. clear():清空字典。
# 举例
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}dict1.clear()
# 结果为 {}  空字典
print(dict1)

此操作与增的写法相似。

# 语法格式:
字典序列[key] = 值# 注意: 如果 key 存在则修改这个 key 对应的值,如果 key 不存在则新增此键值对。
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}dict1['name'] = '狂徒'
# 结果为 {'name': '狂徒', 'gender': '男', 'age': 20, 'tel': '1564566'}
print(dict1)
  1. key 值查找
# 如果当前查找的 key 存在,返回对应的值,否则报错
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}print(dict1['age'])  # 结果为 20
print(dict1['id'])  # 结果为 报错
  1. 使用 get() 方法获取元素 如果字典中不存在对应的键,则将第二个参数作为返回值,默认为 None。
# 举例
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}print(dict1.get('gender'))  # 结果为 男
print(dict1.get('id'))  # 结果为 None
print(dict1.get('id','没有找到'))  # 结果为 没有找到
  1. keys() :获取字典中所有的键名。
# 举例
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}# 结果为 dict_keys(['name', 'gender', 'age', 'tel'])
print(dict1.keys())
  1. values() :获取字典中所有的键值。
# 举例
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}# 结果为 dict_values(['张三', '男', 20, '1564566'])
print(dict1.values())
  1. items() :以列表返回可遍历的 (键,值) 元组。
# 举例
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}# 结果为 dict_items([('name', '张三'), ('gender', '男'), ('age', 20), ('tel', '1564566')])
print(dict1.items())

2.3 字典的循环遍历

  1. 遍历字典的 key
# 举例
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}
for key in dict1.keys():print(key)
# 结果为
# name
# gender
# age
# tel
  1. 遍历字典的 value
# 举例
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}
for value in dict1.values():print(value)# 结果为
# 张三
# 男
# 20
# 1564566
  1. 遍历字典的元素
# 举例
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}
for item in dict1.items():print(item)# 结果为
# ('name', '张三')
# ('gender', '男')
# ('age', 20)
# ('tel', '1564566')
  1. 遍历字典的键值对
# 举例
dict1 = {'name': '张三','gender': '男','age': 20,'tel': '1564566'}
for key,value in dict1.items():print(f'{key}={value}')
# 结果为
# name=张三
# gender=男
# age=20
# tel=1564566

三、任务清单

3.1 基础练习

  1. 定义一个字典,用于存储一个人的姓名、年龄、性别和电话
dict1 = {'姓名': '张三','年龄': 20,'性别': '男','电话': '123456'}
  1. 定义一个字典,用于存储一个人的姓名、年龄和爱好
dict1 = {'姓名': '张三','年龄': 20,'爱好': 'Python'}
  1. 定义一个字典,用于存储一个人的姓名、年龄和多个爱好(注意存储爱好时,要方便后期对爱好进行操作,所以建议使用列表存储)
dict1 = {'姓名': '张三','年龄': 20,'爱好': ['Python','零食','篮球','车']}
  1. 定义一个字典,用于存储一个人的姓名、年龄和地址(地址的存储应该分为省份、城市和区县,方便后期操作,所以建议使用字典存储)
dict1 = {'姓名': '张三','年龄': 20,'地址': {'province': 'XX省','city': 'XX市','area': 'XX县'}}
  1. 定义一个字典,用于存储一个人的姓名、年龄和三个好朋友的信息,包括朋友的姓名、性别和年龄
dict1 = {'name': '张三','age': 20,'friends': [{'name': '小明','gender': '男','age': 20},{'name': '小红','gender': '女', 'age': 18},{'name':'老王','gender': '男','age': 20}]}
  1. 定义一个字典,用于存储一个人的姓名、年龄和三个好朋友的信息,包括朋友的姓名、性别和地址(地址的存储应参考题目4的说明,使用字典存储)
dict1 = {'name': '张三','age': 20,'friends': [{'name': '小明','gender': '男','address': {'province': 'xx省','city': 'xx市','area': 'xx区'}},{'name': '小红','gender': '女','address': {'province': 'xx省','city': 'xx市','area': 'xx区'}},{'name': '老王','gender': '男','address': {'province': 'xx省','city': 'xx市','area': 'xx区'}}]}
  1. 定义一个字典,用于存储一辆车的品牌和价格
dict1 = {'brand': '奔驰','price': 10000000}
  1. 定义一个字典,用于存储一辆车的品牌、价格和产地(产地要精确到生产厂家的具体地址,建议使用字典对省份、城市、区县、街道等进行分别存储)
dict1 = {'brand': '奔驰','price': 1000000,'address': {'province': 'xx省','city': 'xx市','area': 'xx区'}}
  1. 定义一个元组,分别存储你的3位好朋友的姓名
tuple1 = ('小明','小红','小李')
  1. 从上面元组中获取第二个元素并输出
tuple1 = ('小明','小红','小李')
print(tuple1[1])  # 结果为 小红
  1. 将上面元组中的第二个元素修改为”张三“,并再次输出
tuple1 = ('小明','小红','小李')
tuple1[1] = '张三'
print(tuple1)   # 结果为报错

3.2 提升练习

1、有如下字典,按照要求实现每一个功能

  • dict = {‘k1’: ‘v1’,‘k2’: ‘v2’,‘k3’: ‘v3’}
# 请循环遍历出所有的key
for key in dict.keys():print(key)
# 运行结果:
k1
k2
k3# 请循环遍历出所有的value
for value in dict.values():print(value)
# 运行结果:
v1
v2
v3# 请循环遍历出所有的key和value
for item in dict.items():print(f'{item[0]} = {item[1]}')
# 运行结果:
k1 = v1
k2 = v2
k3 = v3# 请在字典中增加一个键值对,“k4”:“v4”,输出添加后的字典
dict['k4'] = 'v4'
print(dict)
# 运行结果:
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}# 请删除字典中键值对"k1":“v1”,并输出删除后的结果
del dict['k1']
print(dict)
# 运行结果:
{'k2': 'v2', 'k3': 'v3'}# 请删除字典中键"k5"对应的键值对,如果字典中不存在键"k5",则不报错,返回None
result = dict.get('k5')
if result != None:del dict['k5']
print(result)
# 运行结果:
None# 请获取字典中"k2"对应的值
print(dict['k2'])
# 运行结果:
v2# 请获取字典中"k6"对应的值,如果不存在,则不报错,并且让其返回None。
print(dict.get('k6'))
# 运行结果:
None
  1. 组合嵌套题。写代码,有如下列表,按照要求实现每一个功能
  • lis = [[“k”,[“qwe”,20,{“k1”:[“tt”,3,“1”]},89],“ab”]]
  • 将列表中的数字 20 变成字符串"100"
  • 将列表中的字符串"1"变成数字101
# 将列表中的数字 20 变成字符串"100"
lis = [["k", ["qwe", 20, {"k1": ["tt", 3, "1"]}, 89], "ab"]]
lis[0][1][1] = '100'
print(lis)  # 结果为 [['k', ['qwe', '100', {'k1': ['tt', 3, '1']}, 89], 'ab']]# 将列表中的字符串"1"变成数字101
lis[0][1][2]['k1'][2] = 101
print(lis)  # 结果为 [['k', ['qwe', '100', {'k1': ['tt', 3, 101]}, 89], 'ab']]
  1. 阅读代码,完成下面功能
"""
people=[]
a={'name':'laosun','phone':13032435356,'sex':1}
b={'name':'laozheng','phone':13038659870,'sex':1}
c={'name':'laosong','phone':13032867908,'sex':2}
将下面定义的三个字典都存储在一个名为 people 的列表中,信息都打印出来。
遍历这个列表,将其中每个人的所有信息打印出来。
"""
people=[]
a={'name':'laosun','phone':13032435356,'sex':1}
b={'name':'laozheng','phone':13038659870,'sex':1}
c={'name':'laosong','phone':13032867908,'sex':2}people = [a,b,c]
for item in people:print(f'姓名:{item["name"]},电话:{item["phone"]},性别:{"男" if item["sex"] == 1 else "女"}')# 运行结果:
姓名:laosun,电话:13032435356,性别:男
姓名:laozheng,电话:13038659870,性别:男
姓名:laosong,电话:13032867908,性别:女
  1. 有如下字典,按照要求实现每一个功能
dic = {'python': 95,'java': 99,'c': 100
}
# 输出字典的长度是多少
print(len(dic))
# 运行结果:
3# 请修改’java’ 这个key对应的value值为98
dic['java'] = 98
print(dic)
# 运行结果:
{'python': 95, 'java': 98, 'c': 100}# 删除 c 这个key
del dic['c']
print(dic)
# 运行结果:
{'python': 95, 'java': 99}# 增加一个key-value对,key值为 php, value是90
dic['php'] = 90
print(dic)
# 运行结果:
{'python': 95, 'java': 99, 'c': 100, 'php': 90}# 获取所有的key值,存储在列表里
list1 = []
for i in dic.keys():list1.append(i)
print(list1)
# 运行结果:
['python', 'java', 'c']# 获取所有的value值,存储在列表里
list1 = []
for i in dic.values():list1.append(i)
print(list1)
# 运行结果:
[95, 99, 100]# 判断 javascript 是否在字典中
result = dic.get('javascript')
if result != None:print('存在')
else:print('不存在')
# 运行结果:
不存在# 获得字典里所有value 的和
sum = 0
for i in dic.values():sum += i
print(sum)
# 运行结果:
294# 获取字典里最大的value
result = 0
for value in dic.values():if value > result:result = value
print(result)
# 运行结果:
100# 获取字典里最小的value
result = dic['python']
for value in dic.values():if value < result:result = value
print(result)
# 运行结果:
95# 字典 dic1 = {‘php’: 97}, 将dic1的数据更新到dic中
dic1 = {'php': 97}
dic.update(dic1)
print(dic)
# 运行结果:
{'python': 95, 'java': 99, 'c': 100, 'php': 97}
  1. 字典应用(买水果)
  • 苹果 32.8
  • 香蕉 22
  • 葡萄 15.5
  • 请将上面的数据存储到字典里,可以根据水果名称查询购买这个水果的费用
fruits = [{'name': '苹果','price': 32.8},{'name': '香蕉','price': 22},{'name': '葡萄','price': 15.5}]Fruit = input('请输入要购买的水果:')
for item in fruits:if item['name'] == Fruit:print(item['price'])# 运行结果:
请输入要购买的水果:苹果
32.8
请输入要购买的水果:香蕉
22
请输入要购买的水果:葡萄
15.5
  1. 字典应用(买水果2)
  • 小明,小刚去超市里购买水果
  • 小明购买了苹果,草莓,香蕉,一共花了89块钱,,小刚购买了葡萄,橘子,樱桃,一共花了87块钱。
  • 请从上面的描述中提取数据,存储到字典中,可以根据姓名获取这个人购买的水果种类和总费用。
dict1 = [{'name': '小明', 'fruits': ['苹果', '草莓', '香蕉'], 'price': 89}, \{'name': '小刚', 'fruits': ['葡萄', '橘子', '樱桃'], 'price': 87}]
name = input('请输入姓名:')
for item in dict1:if name == item['name']:print(f'水果种类:{item["fruits"]},价格:{item["price"]}')# 运行结果:
请输入姓名:小明
水果种类:['苹果', '草莓', '香蕉'],价格:89请输入姓名:小刚
水果种类:['葡萄', '橘子', '樱桃'],价格:87
  1. 有如下值集合[11,22,33,44,55,66,77,88,99,90]
  • 将所有大于66的值保存至字典的第一个key中,将小于66值保存至第二个key的值中。
  • li = [11,22,33,44,55,66,77,88,99,90]
li = [11,22,33,44,55,66,77,88,99,90]
dict1 = {'大于66': [],'小于66': []}
for i in li:if i >= 66:dict1['大于66'].append(i)else:dict1['小于66'].append(i)print(dict1)# 运行结果:
{'大于66': [66, 77, 88, 99, 90], '小于66': [11, 22, 33, 44, 55]}
  1. 请用代码实现:利用下划线将列表的每一个元素拼接成字符串
  • li = [‘alex’, ‘eric’, ‘rain’]
  • 输入之后实现如下样子
  • li = [‘a_l_e_x’,‘e_r_i_c’,‘r_a_i_n’]
li = ['alex', 'eric', 'rain']
i = 0
for item in li:li[i] = '_'.join(item)i += 1
print(li)# 运行结果:
['a_l_e_x', 'e_r_i_c', 'r_a_i_n']

总结

希望对你有所帮助。

Python基础篇(七)相关推荐

  1. 杨洋python课程提高篇_杨洋老师《全民一起玩Python 基础篇+提高篇》

    全民一起玩Python 基础篇+提高篇 适用人群: 想用轻松系统的方式,从零开始真正理解掌握Python.进而学习办公.网抓.数据.AI.网站等技术的各界人士 课程概述: 制作精细.自带吐槽,每节课程 ...

  2. 杨洋python课程提高篇_杨洋老师:全民一起玩Python 基础篇+提高篇,老师幽默严谨不枯燥的学习编程...

    课程介绍 本套课程出自杨洋老师的全民一起玩Python 基础篇+提高篇官网售价299元,程保持了杨洋博士老师幽默严谨不枯燥的学习编程,清晰全面的授课风格,配有丰富的教学演示和插图.动画,是初学者学习P ...

  3. 面试题之第一部分(Python基础篇) 80题

    第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...

  4. python包括哪些部分_第一部分 Python基础篇

    第⼀一部分 Python基础篇 1. 为什什么学习Python? 朋友推荐,比较简单易学,生态圈比较强大 发展趋势:人工智能.数据分析 2. 通过什什么途径学习的Python? 廖雪峰.网络博客.相关 ...

  5. Python基础(七)--模块和包

    目录 Python基础(七)--模块和包 1 模块 1.1 什么是模块 1.2 模块的使用 1.3 模块的搜索路径 1.4 模块的缓存 2 包 2.1 什么是包 2.2 包的使用 3 常用模块 3.1 ...

  6. 经典Python面试题之Python基础篇

    Python基础篇 1. 为什么学习Python? 2. 通过什么途径学习的Python? 3. Python和Java.PHP.C.C#.C++等其他语言的对比? 4. 简述解释型和编译型编程语言? ...

  7. Python基础篇:你好,世界!

    Python基础篇:你好,世界! 开了一段时间的博客了,可能很多人都对Python基础不掌握或者掌握不牢固,所以我会分别出算法篇和基础篇的教程来教大家一步一步走向程序员的水平 接着我们看看下面这行代码 ...

  8. pythondd_工程脚本插件方案 - c集成Python基础篇

    工程脚本插件方案 - c集成Python基础篇 序: 为何要集成脚本,怎样在工程中集成Python脚本. 在做比较大型的工程时,1般都会分核心层和业务层.核心层要求实现高效和稳定的基础功能,并提供调用 ...

  9. python基础篇{控制流语句}

    控制流语句 条件控制 单条件判断 多条件判断 练习 循环控制 while语句 for语句 range函数 练习 break 和 continue 语句 break语句 continue  python ...

最新文章

  1. 将HTML5 Canvas的内容保存为图片
  2. 事务RFC(TRFC)原理和实战解析
  3. 注册中心—注册中心原理
  4. 使用代码获得document的related document 列表
  5. 车站计算机联锁系统的仿真设计,车站计算机联锁仿真设计.doc
  6. python用海伦公式求面积_Python:平面直角坐标系下用三点求所构三角形面积
  7. 家用电脑改成无盘服务器,怎么把自己家电脑硬盘弄成无盘
  8. python matlabplot写字_Matlab中plot基本用法的具体使用
  9. ASN.1编解码与编程
  10. CVPR 2020文本图像检测与识别论文/代码
  11. Ubuntu下解决文件名mp3标签和文本文件内容的乱码问题
  12. docker自定义网络
  13. 如何给Arduino项目添加音乐播放功能
  14. DateUtil整理
  15. Google Code的简单使用
  16. 用认知和人性来做最棒的程序员
  17. 记一次PS For Mac破解
  18. win7音量图标不见了如何解决
  19. 计算机基础应用期中试卷,计算机应用基础期中考试计算机试卷.doc
  20. cf 1677A - Tokitsukaze and Strange Inequality

热门文章

  1. Failed to connect to Coordinator: All builds will run in standalone mode.
  2. yii2教程-登录与自动登录机制解析
  3. 《全球NFT数字版权与资产峰会》圆满闭幕——开启NFT应用新未来
  4. 课程设计:旅游管理系统,C语言+图结构带你轻松完成作业
  5. linux系统中怎样抓logo,linux启动成功修改logo
  6. 简述SpringMVC及其工作流程图
  7. Android入门第50天-读写本地文件
  8. Java 爪哇学习(三) 基础
  9. 如何做网站推广-外链为皇
  10. 金融扫盲-资本市场从天使轮、ABCD轮、风投、到上市圈钱、借壳上市。