Python中的List列表
创建列表和创建普通变量一样,用中括号括起一堆数据就可以了。
number = [1, 2, 3, 4, 5]
print(number)
一、访问列表
1.1、什么是列表?
列表是由一系列按特定顺序排列的元素组成,列表能存储多种类型的数据,其中的元素之间没有任何关系。
列表通过索引访问列表中的元素。列表是元素的有序集合。
name = ["鸡蛋", "鸭蛋", "鹅蛋", "李狗蛋"]
print(name[0])
print(name[3])
name[1], name[3] = name[3], name[1] # 将"李狗蛋"与"鸭蛋"位置互调
print(name)
二、操作列表
2.1、修改列表元素
修改列表元素的语法和访问列表元素的语法类似,指定列表名和要修改元素的索引,再指定新值。
students = ['Tom', 18, 'China']
students[1] = 19
print(students)
2.2、添加列表元素
- 在列表末尾追加元素:使用append()方法将元素追加到列表的末尾。也可以用append()方法来动态创建列表。
students = ['Tom', 18, 'China']
students.append('BasketBall')
print(students)
- 在列表中插入元素:通过指定新元素的索引和值,使用insert()方法可以在列表的任何位置添加新元素。
- 第一个参数代表在列表中的位置;
- 第二个参数是在这个位置处插入一个元素。
students = ['Tom', 18, 'China']
students.insert(2, 'BasketBall')
print(students)
- extend()方法向列表末尾添加多个元素,是用一个列表来扩展另一个列表。
students = ['Tom', 18, 'China']
students.extend([2,,'BasketBall'])
print(students)
2.3、删除列表元素
- 使用pop()方法删除元素:pop方法用于移出列表中的一个元素(默认是最后一个元素),可以指定元素索引,并且返回该元素的值。
students = ['Tom', 18, 'China']
students.pop()
students.pop(1)
print(students)
- 使用del语句删除元素:如果知道要删除的元素在列表中的位置,可以使用del语句删除元素,元素一旦被删除之后就再无法访问。如果想要删除整个列表,可以直接用del加列表名删除。
students = ['Tom', 18, 'China']
del students[2]
print(students)
del students
- 使用remove()方法删除元素:当不知道元素索引,只知道元素值的时候,使用remove()方法删除元素。不能指定某个位置的元素。
students = ['Tom', 18, 'China']
students.remove('Tom')
print(students)
2.4、列表分片
列表分片就是建立原列表的一个拷贝。
name = ["鸡蛋", "鸭蛋", "鹅蛋", "李狗蛋"]
print(name[0:2])
print(name[:2])
print(name[1:])
print(name[:])
- 用一个冒号隔开两个索引值,左边是开始位置,右边是结束位置。结束位置上的元素是不包含的。
分片操作实际上还可以接受第三个参数,其代表步长,默认值为1。
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list1[0:9:2])
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list1[::-1])
- 这里步长设置为-1,就相当于复制一个反转的列表。
2.5、一些常用操作符
- 当列表包含多个元素的时候,默认是从第一个元素开始比较,只要有一个PK赢了,就算整个列表赢了;
- 字符串比较也是同样的道理,字符串比较的是第一个字符对应的ASCII码值的大小;
- 字符串可以用加号(+)来进行拼接,用乘号(*)来复制自身若干次。它们在列表中也是可以实现的。
list1 = [123, 456]
list2 = [234, 123]
# print(list1 > list2)
print(list1 + list2) # 拼接列表
list1 = [123]
print(list1 * 3)
2.6、查找列表元素
所谓的查找,就是看看指定的元素是否存在。
- in(存在),如果存在结果为True,否则为False;
- not in(不存在),如果不存在结果为True,否则为False。
list1 = ["小猪", '小猫', '小狗', '小甲鱼']
print('小猪' in list1)
print('小护士' not in list1)
list1 = ['小猪', '小猫', ['小甲鱼', '小护士'], '小狗']
print('小甲鱼' in list1) # False
print('小护士' not in list1) # True
print('小甲鱼' in list1[2]) # True
print('小护士' not in list1[2]) # False
三、Python列表函数
函数&方法 | 描述 | 示例 |
---|---|---|
len(list) | 返回列表元素个数 | students['jack','tom','john'] print(len(students)) |
max(list) | 返回列表元素中的最大值。默认数值型的参数,取最大值。字符型的参数,取字母排序靠后者。 | ages=[1,56,18] print(max(ages)) |
min(list) | 返回列表元素中的最小值。默认数值型的参数,取最小值。字符型的参数,取字母排序靠前者。 | ages=[1,56,28] print(min(ages)) |
list.count(obj) | 统计某个元素在列表中出现的次数 | students=['jack','tom','jack','amy','kim','sunny'] print(students.count('jack')) |
extend(list) | 扩展列表,在一个列表的末尾一次性追加一个新的列表,参数为一个列表 | students=['jack','tom','amy'] students2=['kim','sunny'] students.extend(students2) print(students) |
list.index(obj) | 用于从列表中找出某一个值第一个匹配项的索引位置 | students=['jack','tom','jack','amy'] print(students.index('jack')) |
list.reverse() | 反向列表中的元素 | students=['jack','tom','amy'] students.reverse() print(students) |
list.sort() | 对列表进行排序,该方法没有返回值。更改的是原列表 | students=[4,2,1,8,6,9,10] sudents.sort() print(students) |
list.clear() | 清空列表 | students=['jack','tom','amy','kim'] students.clear() print(students) |
list.copy() | 复制列表 | students=['jack','tom','amy'] students2=students.copy() print(students2) |
list1 = [1, 1, 2, 3, 5, 8, 13, 21]
print(list1.count(1)) # 计算count()参数在列表中出现的次数
# 2
print(list1.index(1)) # 返回参数在列表中的位置
# 0
list1.reverse() # 将整个列表原地翻转
print(list1)
# [21, 13, 8, 5, 3, 2, 1, 1]
list1.sort() # 用指定的方式对列表的成员进行排序,默认不需要参数,从小到大排队
print(list1)
# [1, 1, 2, 3, 5, 8, 13, 21]
'''
sort()方法有三个参数,其形式为sort(func,key,reverse),
将reverse设置为True,列表就相当于从大到小排序。
'''
list1.sort(reverse=True)
print(list1)
# [21, 13, 8, 5, 3, 2, 1, 1]
学海无涯苦作舟

网友评论