【Python3.7学习笔记】四、列表
【Python3.7学习笔记】一、环境搭建
【Python3.7学习笔记】二、第一个python程序
【Python3.7学习笔记】三、变量和简单数据类型
【Python3.7学习笔记】四、列表
【Python3.7学习笔记】五、字典
列表由一系列按特定顺序排列的元素组成。python使用[]来表示列表,并用逗号来分隔其元素。例如:
# 自行车列表
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python解释器即可。将索引号放入方括号中。各式:列表名[索引],例如:
# 自行车列表
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0])
输出结果:
trek
# 自行车列表
bicycles = ['trek', 'cannondale', 'redline', 'specialized']# 访问列表元素,使用下标访问,索引从0开始而不是1开始
print(bicycles[0])
print(bicycles[1])
print(bicycles[3])
输出结果:
trek
cannondale
specialized
# 最后的元素
print(bicycles[-1])# 倒数第二个元素
print(bicycles[-2])# 倒数第三个元素
print(bicycles[-3])
修改列表元素的语法和访问列表元素的语法类似。各式:列表名[索引]=新值,如:
# 修改元素
motocycles = ['honda', 'yamaha', 'suzuki']
print(motocycles)motocycles[0] = 'ducati'
print(motocycles)
输出结果:
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
返回目录
在列表中添加新元素时,最简单的方式是将元素添加到列表末尾。例如:
# 1、使用append()方法在列表末尾增加一个元素
motocycles = ['honda', 'yamaha', 'suzuki']
motocycles.append('ducati')
print(motocycles)
输出结果:
['honda', 'yamaha', 'suzuki', 'ducati']
append()能动态的创建列表,如下:先创建一个空列表,然后添加元素。
motocycles = []
motocycles.append('honda')
motocycles.append('yamaha')
motocycles.append('suzuki')
motocycles.append('ducati')
print(motocycles)
输出结果:
['honda', 'yamaha', 'suzuki', 'ducati']
使用insert()方法可在列表的任何位置添加元素。只需要指定新元素的索引和值。
# 2、使用方法insert()可在列表的任何位置添加新元素。
# 为此,你需要指定新元素的索引和值
motocycles = ['honda', 'yamaha', 'suzuki']
motocycles.insert(0,'ducati')
print(motocycles)
输出结果:
[ 'ducati','honda', 'yamaha', 'suzuki']
返回目录
使用del()函数删除元素,只需提供元素在列表中的位置索引即可,如:
# 1、使用del语句删除元素,
# 如果知道要删除的元素在列表中的位置,
# 可使用del语句
motocycles = ['honda', 'yamaha', 'suzuki']
del motocycles[0]
print(motocycles)
输出结果:
[ 'yamaha', 'suzuki']
方法pop()可删除列表末尾的元素,并能继续使用它的值,类似与,弹出栈顶元素,如:
# 2、使用pop()删除元素,
# 方法pop()可删除列表末尾的元素,
# 并让你能够接着使用它
motocycles = ['honda', 'yamaha', 'suzuki']
print(motocycles)
popped_motocycle = motocycles.pop()
print(motocycles)
print(popped_motocycle)
输出结果:
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki
值需要提供删除元素的索引即可,如:
# 3、弹出列表中任何位置的元素
motocycles = ['honda', 'yamaha', 'suzuki']
print("11")
print(motocycles)
first_owned = motocycles.pop(1)
print(motocycles)
second_owned = motocycles.pop(0)
print("22")
print(motocycles)
print("first_owned=="+first_owned)
print("second_owned=="+second_owned)
输出结果:
11
['honda', 'yamaha', 'suzuki']
['honda', 'suzuki']
22
['suzuki']
first_owned==yamaha
second_owned==honda
当你使用pop()时,被弹出的元素就不在列表中了,如果你不能确定该使用del()还是pop(),判断标准:
有时候,你不知道要从列表中删除的值所处位置。如果你只知道要删除元素的值,可使用方法remove(),如:
# 4、根据值删除元素
# 如果你不知道要从列表中删除的值所处的位置。
# 如果你只知道要删除的元素的值,
# 可使用方法remove()
motocycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(ve('ducati')
print(motocycles)
输出结果:
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
使用remove()从列表中删除元素时,也可接着使用它的值,如:
# 使用remove()从列表中删除元素时,也可接着使用它的值
motocycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motocycles)too_expensive = 'ducati'
ve(too_expensive)
print(motocycles)
print("nA "+too_expensive+" is too expensive for me!")
输出结果:
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']A ducati is too expensive for me!
注意:方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
返回目录
假设你有一个汽车列表,并要让其中的汽车按字母顺序排列,如:
# 方法sort()对列表进行排序
# 假设你有一个汽车列表,并要让其中的汽车按字母顺序排列。
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
输出结果:
['audi', 'bmw', 'subaru', 'toyota']
可以按与字母顺序相反的顺序排列列表元素,为此,只需向sort()方法传递参数reverse=True 如:
# 可以按与字母顺序相反的顺序排列列表元素,
# 为此,只需向sort()方法传递参数reverse=True
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)
输出结果:
['toyota', 'subaru', 'bmw', 'audi']
使用函数sorted()对列表进行临时排序,不影响列表原始顺序,如:
# 使用函数sorted()对列表进行临时排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
print(sorted(cars))
print(cars)
输出结果:
['bmw', 'audi', 'toyota', 'subaru']
['audi', 'bmw', 'subaru', 'toyota']
['bmw', 'audi', 'toyota', 'subaru']
要反转列表元素的排列顺序,可使用方法reverse(),如:
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(verse()
print(cars)
输出结果:
['bmw', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bmw']
注意:reverse()不是指按与字母顺序相反的顺序排列列表原始,而只是反转列表元素的排列顺序,方法reverse()永久性的修改列表元素的排列顺序,但是可随时恢复到原来的排列顺序,为此再次调reverse()方法即可。
使用len()计算列表长度,如:
# 列表的长度
motocycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print("cars列表的长度:"+str(len(cars)))
输出结果:
cars列表的长度:4
返回目录
# 遍历列表
motocycles = ['honda', 'yamaha', 'suzuki', 'ducati']
for motocycle in motocycles:print(motocycle)
输出结果:
honda
yamaha
suzuki
ducati
返回目录
python根据缩进来判断代码行与前一个代码行的关系。通过缩进让代码更易读;缩进使得代码整洁而结构清晰。
如果忘记缩进,python解释器会提供一个traceback信息,提示缩进
忘记缩进会导致逻辑错误
如果你不小心缩进了不需要缩进的代码,python解释器会提示traceback信息
for语句末尾的冒号告知python,下一行是循环的第一行
返回目录
python函数range()能生成一系列的数字。
for value in range(1,5):print(value)
输出结果:
1
2
3
4
函数list()将range()的结果直接转换为列表
numbers = list(range(1,5))
print(numbers)
输出结果:
[1, 2, 3, 4]
numbers = list(range(1,6))
print(numbers)
print(max(numbers))
print(min(numbers))
print(sum(numbers))
输出结果:
[1, 2, 3, 4, 5]
5
1
15
numbers = list(range(1,11))
print(numbers)squares = [value**2 for value in range(1,11)]
print(squares)
输出结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
返回目录
##使用列表的一部分
要创建切片,可指定第一个元素的索引和最后一个元素的索引+1
# 要创建切片,可指定第一个元素的索引和最后一个元素的索引+1
motocycles = ['honda', 'yamaha', 'suzuki', 'ducati']# 包含0,1,2索引元素
print(motocycles[0:3])# 包含1,2索引元素
print(motocycles[1:3])# 包含0,1,2,3索引元素
print(motocycles[0:4])# 包含1,2,3索引元素
print(motocycles[1:4])# 包含0,1,2,3索引元素
print(motocycles[:4])# 包含0,1,2索引元素
print(motocycles[:3])# 索引从2开始元素
print(motocycles[2:])# 包含倒数1元素
print(motocycles[-1:])# 包含倒数2个元素
print(motocycles[-2:])# 包含倒数3个元素
print(motocycles[-3:])
输出结果:
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']
['yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
['suzuki', 'ducati']
['ducati']
['suzuki', 'ducati']
['yamaha', 'suzuki', 'ducati']
motocycles = ['honda', 'yamaha', 'suzuki', 'ducati']
for motocycle in motocycles[:4]:print(motocycle)
输出结果:
honda
yamaha
suzuki
ducati
motocycles = ['honda', 'yamaha', 'suzuki', 'ducati']
# 使用切片拷贝整个列表
motocycles_copy = motocycles[:]
# 使用copy方法拷贝列表
motocycles_copy2 = py()
print(motocycles_copy)
print(motocycles_copy2)
输出结果:
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki', 'ducati']
返回目录
列表适合于存储在程序运行期间可能变化的数据集。列表是可修改的。
python将不能修改的列表称为元组,使用圆括号括起来。可以使用索引访问值
dimension = (200,50)
print(dimension[0])
print(dimension[1])
输出结果:
200
50
dimensions = (200,50)
for dimension in dimensions:print(dimension)
输出结果:
200
50
dimensions = (200,50)
print("old dimensions:")
for dimension in dimensions:print(dimension)dimensions = (100,100)
print("new dimensions:")
for dimension in dimensions:print(dimension)
输出结果:
old dimensions:
200
50
new dimensions:
100
100
不能修改元组中得值,但是可以给元组变量重新赋值
返回目录
欢迎大家一起讨论交流学习
我的 github 期待你的关注
本文发布于:2024-02-01 00:42:18,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170671934032585.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |