一、创建「列表」和「元组」
语法格式:
1、创建列表,使用方括号,可以包含多个元素。
[ele1, ele2, ele3, …]
2、 创建元组,使用小括号,可以包含多个元素。
(ele1, ele2, ele3, …)
案例代码:
# 创建列表 mylist = ['Python', 13.14, 520] # 创建元组 mytuple = ('Java', 22, 33)
二、列表和元组的通用用法
2.1 通过索引使用元素
列表和元组的元素的索引值,是从 0 开始的
如果是倒数,索引值则从 -1 开始
案例代码:
# 创建元组 mytuple = ('Java', 'Python', 13.14, 520, 666, 888) # 问题1:访问第一个元素 result = mytuple[0] print(result) # 问题2:访问倒数第二个元素 result2 = mytuple[-2] print(result2)
2.2 列表和元组的切片 —— 子序列
列表和元组,可以使用索引值,获取其中一段数据。
语法格式:
[start : end : step]
start:起始位置
end:终止位置
step:间隔值,步长
案例代码:
# 创建元组 mytuple = ('Java', 'Python', 13.14, 520, 666, 888) # 问题1:访问第一个元素到第四个元素(不包含)的所有元素 result = mytuple[0:3] print(result) # 问题2:访问倒数第四个元素到倒数第一个元素(不包含)的所有元素 result2 = mytuple[-4:-1] print(result2) # 再创建元组 mytuple2 = (1, 2, 3, 4, 5, 6, 7, 8, 9) # 问题3:访问第二个元素到第九个元素(不包含),间隔为二的所有元素 result3 = mytuple2[1:8:2] print(result3) # 问题3:访问第三个元素到倒数第二个元素(不包含),间隔为二的所有元素 result4 = mytuple2[2:-2:2] print(result4)
2.3 加法和乘法
列表和元组的「加法」
指的是,两个列表或元组所包含的元素的总和,也就是「汇总」
⚠️ 注意:
1)不能混合使用
2)元组只能跟元组相加;列表只能跟列表相加
案例代码:
# 1、创建元组 mytuple1 = ('Python', 13.14, 520) mytuple2 = (22, 33, 66, 88) # 2、元组相加 result = mytuple1 + mytuple2 print(result) # 3、创建列表 mylist1 = ['Java', 1, 2, 3] mylist2 = [4, 5, 6] # 4、列表相加 result2 = mylist1 + mylist2 print(result2) # 5、混合会报错 err = mytuple1 + mylist1 print(err)
列表和元组的「乘法」
把它们所包含的元素,重复 N 遍。
案例代码:
# 1、创建元组 mytuple = (22, 33) # 2、元组乘法 print(mytuple * 3) # 3、创建列表 mylist = [66, 88] # 4、列表乘法 print(mylist * 4)
2.4 in 运算符
用来判断,指定元素,是否在列表或元组中。
案例代码:
# 1、创建元组 mytuple = ('Python', 13.14, 520) # 2、包含此元素,返回 True print('Python' in mytuple) # 3、不包含此元素,返回 False print('Java' in mytuple)
2.5 获取列表或元组的长度、最大值、最小值
如何获取元组或列表的「长度、最大值、最小值」?
Python 内置函数:
len() 长度
max() 最大值
min() 最小值
⚠️ 使用 max() 和 min() 时
保证元组、列表的元素,必须是类型相同的,且可以比较大小的
可以是「数值」之间的比较,也可以是「字符串」之间的比较
字符串的比较,是比较它们的 ASCII 码值
26 个大写字母的 ASCII 码为 65~90
26 个小写字母的 ASCII 码为 97~122
案例代码:
# 1、创建元组 和 列表 # mytuple = ('Python', 13.14, 520) # mytuple2 = (22, 33, 14, -50, 520, 66) mylist = ['Python', 'Hello', 'nice', 'happy'] # 2、获取最大值 print(max(mylist)) # 3、获取最小值 print(min(mylist)) # 4、获取长度 print(len(mylist))
2.6 序列封包和序列解包
序列封包:
Sequence Packing,当把多个值只赋给一个变量时,Python 会自动将多个值封装成【元组】
序列解包:
Sequence Unpacking,我们可以将列表或者元素,直接赋值给多个变量
⚠️ 注意,列表或元组的元素个数,要和变量个数一致
序列封包和解包的「高级内容」:
Python 允许给变量添加"*"号,代表一个列表,保存多个集合元素。
案例代码:
# 序列封包 abc = 10, 20, 30 print(abc) print(type(abc)) # 序列解包 mytuple = tuple(range(1, 20, 2)) a, b, c, d, e = mytuple print(a, b, c, d, e) # 案例 1 # first 保存第一个元素 # second 保存第二个元素 # rest 保存剩余的其他元素 first, second, *rest = range(1, 20, 2) print(first) print(second) print(rest) # 案例 2 # first 保存第一个元素 # middle 保存中间的所有元素 # last 保存最后一个元素 first, *middle, last = range(1, 20, 2) print(first) print(middle) print(last)
三、使用列表
3.1 创建列表
使用 list() 函数,创建列表。
list() 函数可以创建列表,还可以将元组、区间等对象转换成列表
案例代码:
# 1、创建元组 mytuple = ('Python', 13.14, 520) mylist = list(mytuple) print(mylist) # 2、创建区间 myrange = range(1, 10) mylist2 = list(myrange) print(mylist2)
3.2 增加元素
增加列表元素
append():会把传入的参数,追加到列表的【最后面】;
extend():只会追加列表中的元素
insert():可以将元素插入列表的指定位置
案例代码:
# 创建列表 mylist = [1, 2, 3] # 添加 Python 字符串 # mylist.append('Python') # 创建元组 mytuple = (4, 5) # 将元组添加到列表中 # mylist.append(mytuple) # 将元组中的元素,添加到列表中 # mylist.extend(mytuple) # 将元组添加到列表中的指定位置 mylist.insert(1, mytuple) # 创建区间 myrange = range(7,15) # 将区间添加到列表中 # mylist.append(myrange) # 将区间中的元素,添加到列表中 # mylist.extend(myrange) # 将元组添加到列表中的指定位置 mylist.insert(2, myrange) print(mylist)
3.3 删除元素
删除列表的元素
第一种方式:del 语句;
第二种方式:remove() 并不是根据索引值来删除,它直接删除元素本身;
第三种方式:clear() 清空列表中的所有元素,比较凶残,使用的时候需要特别小心;
案例代码:
# 此处需要用到 3.2 的代码 # del mylist[2] # del mylist[1:3] # 删除第三个到倒数第二个,间隔为 2 的所有元素 # del mylist[2:-2:2] # 删除元素本身 # mylist.remove(myrange) # 大杀器:clear() 清空 mylist.clear() print(mylist)
3.4 修改元素
修改列表的元素
列表和元组中的所有元素,其实相当于变量
你可以指定新的值,去覆盖掉原来的值
案例代码:
# 创建列表 mylist = ['Python', 13.14, 520] # 修改列表的第一个元素 mylist[0] = 'Java' print(mylist) # 如果想要修改其中某段数据的话,则可以通过分片的方式来操作
3.5 其他方法
列表的其他用法:
count():用于统计列表中某个元素出现的【次数】;
index():用于判断某个元素在列表中出现的【位置】;
pop():用于将列表当成【栈】使用,实现元素出栈的功能;
reverse():用于将列表中的元素反转存放;
sort():用于对列表元素排序;
四、使用字典
4.1 创建字典
字典,就是一个键值对,key-value
就好像是做核酸,大白问你 name:xxx age:xxx code:green / red / yellow
创建字典:
使用 { } 来包含键值对,就可以创建字典
如果有多个键值对,需要用逗号隔开
案例代码:
# 创建字典 # 第一种方式 people1 = {'name' : 'zhangsan', 'age' : 88, 'code' : 'green'} people2 = {'name' : 'lisi', 'age' : 58, 'code' : 'green'} people3 = {'name' : 'laowang', 'age' : 78, 'code' : 'red'} people4 = {'name' : 'laoli', 'age' : 68, 'code' : 'yellow'} people5 = {'name' : 'cuihua', 'age' : 18, 'code' : 'green'} # 买菜 # 第二种方式 vegetables = [('celery', 3.6), ('brocoli', 5.2), ('lettuce', 4.0)] # 第三种方式 vegetables2 = [['celery', 3.6], ['brocoli', 5.2], ['lettuce', 4.0]] # 使用 dict() 创建字典 #dict = dict(vegetables2) # 第四种方式 dict = dict(celery = 3.6, brocoli = 5.2) print(dict)
4.2 字典的基本用法
字典的常用方法:
- 通过 key 访问 value
- 通过 key 添加 key-value
- 通过 key 删除 key-value
- 通过 key 修改 key-value
- 通过 key 判断指定 key-value 是否存在
案例代码:
scores = {'语文' : 78} # print(scores['语文']) scores['数学'] = 60 # del scores['语文'] scores['语文'] = 55 print(scores) print('英语' in scores)
4.3 字典的常用用法
clear():对一个字典执行该方法之后,就会被清空
get():根据 key 来获取 value
update():更新已有的字典数据
items()、keys()、values():获取字典中所有的 key-value 对,所有 key,所有的 value
4.4 使用字典格式化字符串
案例代码:
# 定义字符串模版 temple = '图书名:%(name)s,价格是:%(price)010.2f,出版社是:%(publish)s' # 创建图书 book = {'name':'西游记', 'price':2, 'publish':'电子工业'} book2 = {'name':'葵花宝典', 'price':1.8976536, 'publish':'武林'} # 匹配数据 print(temple % book2)