列表(list)是python中的基本数据类型之一,它属于一个容器型数据类型,即列表是一堆数据集合。列表内可以存放个任意数据类型的元素,可通过索引访问其元素。列表元素可修改。
列表的增删
append,在列表尾部增加一个元素。
insert,在列表任意位置插入新元素。 需要两个参数:第一个是参数是索引下标,第二个参数是要插入列表的元素。其中索引下标从0开始,且可以为负数,表示倒数的位置处。
extend,在列表尾部批量增加元素,extend需要一个参数,该参数为任意可迭代对象数据类型:列表,字典,元组等。
pop,删除列表尾部最后一个元素并返回删除的元素。默认删除最后一个元素,可以通过索引指定删除并返回的元素;如果列表为空或索引越界,则报错IndexError 。
remove,删除第一个元素,如果不存在则报错。
clear,清空列表。
# 增
mylist = []
mylist.append("red")
mylist.insert(1, "black")
mylist.extend([1,2,3])
mylist.extend("1234") # 新增元素 "1","2","3","4"
# 删
mylist.pop() # 删除并返回最后一个元素
mylist.pop(1) # 删除并返回索引为的元素
mylist.remove("red") # 删除"red"
mylist.clear() # 清空列表
列表的排序
sort(),默认对列表按从小到大的方式排序。通过参数reverse=True 指定按从大到小的顺序排序。通过参数key=function 按指定方法排序。
reverse,对泪飙元素反转排列,不排序。
#排序
mylist = [3, 5, 4, 9, 1, 6]
mylist.sort(reverse=True) # [9, 6, 5, 4, 3, 1]
mylist.reverse() # [6, 1, 9, 4, 5, 3]
def sort_second_item(ele):
return ele[1]
nums = [(3,2),(6,9), (5,8),(4,5),(1,6)]
nums.sort(key=sort_second_item, reverse=True)
print(nums)
#output: [(6, 9), (5, 8), (1, 6), (4, 5), (3, 2)]
#即 按元组的第二个元素降序排列啦,激活key,使用自定义排序对象
列表的索引
列表的索引是访问列表的最简单直接方式。索引从0开始,代表第一个元素。以此类推。索引为负值,表示倒数第几个元素。修改指定元素时,也是通过索引。如:mylist[-1] = "silver" 更新列表最后一个元素。索引值越轨将会报错。
index,获取指定元素在列表中的索引值。index函数默认返回找到第一个元素躲在的索引值。此外,可以指定查找起始范围。如果找不到则抛出异常。
mylist = ["red", "green", "yellow", "purple", "gold"]
print(mylist[0]) # "red"
print(mylist[-1]) # "gold"
mylist[-1] = "silver"
mylist.index("green",1,3)
列表计数和复制
count,返回指定元素在列表中出现的次数,不存在则返回0.
copy ,返回一个复制的列表,浅拷贝。
列表切片
切片可以复制和编辑列表元素。切片按 [start : end : step] 的形式使用,通过索引值操作,step可为负数,表示逆序。当step不设置时默认step为1。切片操作遵循“顾头不顾尾”的原则,即切片范围是索引值从start到end-1.切片赋值属于浅拷贝。
mylist = ["red", "green", "yellow", "purple", "gold"]
mylist[1:3] # ["green", "yellow"]
print(mylist[:]) # 全部范围
print(mylist[2:]) # ['yellow', 'purple', 'gold']
print(mylist[::-1]) # ['gold', 'purple', 'yellow', 'green', 'red']
mylist[1:3] = [1,2]
print(mylist) # ['red', 1, 2, 'purple', 'gold']
列表生成式
高级玩法 生成列表
a= [i for i in range(1,10) if i%2==0]
print(a) # [2, 4, 6, 8]
其他
列表直接直接加法算数运算符 list1 list2
nums = [1,3,5,7,9]
new_nums = nums [2,4,6,8,10]
print(new_nums)
#output:
[1,3,5,7,9,2,4,6,8,10]
来源:https://www./content-1-587151.html
|