目录
第五章:组合数据类型
一、列表:
由第一章,我们了解到Python列表的创建方式非常简单,既可以直接使用中括号“[]”创建,也可以使用内置的list()函数快速创建。如下:
list_one = [] # 使用[]创建空列表
li_two = list() # 使用list()创建空列表
(一)列表元素查找:
列表中的元素可以通过索引或切片这两种方式进行访问,也可以在循环中依次查找访问。如下:
list_one = ["Java", "C#", "Python", "PHP"]
print(list_one[1]) #索引
print(list_one[:5]) #切片
for li in li_one: #循环
print(li, end=' ')
(二)列表元素添加:
向列表中添加元素是非常常见的一种列表操作,Python提供了append()、extend()和insert()这几个方法。如下:
list_one = ["Java", "C#", "Python", "PHP"]
list_one.append("C++") #在列表末尾添加元素
list_one.extend([["Android", "IOS",]) #在列表末尾添加另一个序列的所有元素
list_one.insert(2,“HTML") #按照索引将元素插入列表的指定位置
(三)列表元素排序:
列表的排序是将元素按照某种规定进行排列。列表中常用的排序方法有sort()、reverse()、sorted()。如下:
li_one = [6, 2, 5, 3]
list_one.sort() #有序的元素会覆盖原来的列表元素,不产生新列表
li_two = sorted(li_one) #产生排序后的新列表,排序操作不会对原列表产生影响
li_one.reverse() #逆置列表,即把原列表中的元素从右至左依次排列存放
(四)列表元素修删:
删除列表元素的常用方式有del语句、remove()方法、pop()方法和clear()方法。
li_one = [6, 2, 5, 3]
list_one.sort() #有序的元素会覆盖原来的列表元素,不产生新列表
li_two = sorted(li_one) #产生排序后的新列表,排序操作不会对原列表产生影响
li_one.reverse() #逆置列表,即把原列表中的元素从右至左依次排列存放
li_one = [6, 2, 5, 3, 3]
del li_one[0] #删除列表中指定位置的元素
li_one.remove(3) #移除列表中匹配到的第一个元素
li_one.pop() #移除列表中的某个元素,若未指定具体元素,则移除列表中的最后一个元素
li_one.clear() #清空列表
(五)列表生成式(推导式):
列表推导式是符合Python语法规则的复合表达式,它用于以简洁的方式根据已有的列表构建满足特定需求的列表。列表推导式的基本格式如下:
[exp for x in list]
举个例子,我们想将 1 到 10 的平方都存到一个列表中,得到 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
,利用之前的知识可能要这样写:
y = []
for x in range(1, 11):
y.append(x * x)
换成列表生成式,一行代码就能得到想要的列表:
y = [x * x for x in range(1, 11)]
把要生成的元素 x * x
(这个表达式可以自定义)放到前面,后面加一个