目录
一、列表的定义
列表由一系列按特定顺序排列的元素组成。其中的元素可以是任意的,元素之间也可以互相无关,例如你可以创建包含字母表中所有字母的列表。列表用[]来表示,并用逗号来分隔其中的元素。如:
number = [0,1,2,3,4,5,6,7,8,9]
在Python中,第一个列表元素的索引为0,而不是1。Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返 回最后一个列表元素。
二、列表的操作
1、修改列表元素
要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
例如,下面的例子将列表names中的第一个元素进行了修改:
names = ["aa" ,"bb" ,"cc"]
print(f"修改前:{names}")
names[0] = "dd"
print(f"修改后:{names}")
运行后的结果为:
修改前:['aa', 'bb', 'cc']
修改后:['dd', 'bb', 'cc']
2、添加元素
(1)在列表末尾添加元素
例如,在列表names的末尾添加一个元素:
names = ["aa" ,"bb" ,"cc"]
print(f"修改前:{names}")
names.append("dd")
print(f"修改后:{names}")
运行后的结果为:
修改前:['aa', 'bb', 'cc']
修改后:['aa', 'bb', 'cc', 'dd']
(2)在列表中添加元素
使用方法insert()可在列表的任何位置添加新元素,需要指定新元素的索引和值。
例如,在第二个元素处添加一个新元素:
names = ["aa" ,"bb" ,"cc"]
print(f"修改前:{names}")
names.insert(1,"dd")
print(f"修改后:{names}")
运行后的结果为:
修改前:['aa', 'bb', 'cc']
修改后:['aa', 'dd', 'bb', 'cc']
3、删除元素
(1)del语句删除元素
如果知道要删除的元素在列表中的位置,可使用del语句。
例如:
names = ["aa" ,"bb" ,"cc"]
print(f"修改前:{names}")
del names[0]
print(f"修改后:{names}")
运行后的结果为:
修改前:['aa', 'bb', 'cc']
修改后:['bb', 'cc']
(2)使用方法pop()删除元素
当需要将元素从列表中删除并接着使用它的值时,可以使用pop()。方法pop()可删除列表末尾的元素,并让你能够接着使用它。
例如:
names = ["aa" ,"bb" ,"cc"]
print(f"修改前:{names}")
popped=names.pop()
print(f"修改后:{names}")
print(f"popped:{popped}")
运行后的结果为:
修改前:['aa', 'bb', 'cc']
修改后:['aa', 'bb']
popped:cc
此外,可以使用pop()来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。
例如:
names = ["aa" ,"bb" ,"cc"]
print(f"修改前:{names}")
popped=names.pop(2)
print(f"修改后:{names}")
print(f"popped:{popped}")
运行后的结果为:
修改前:['aa', 'bb', 'cc']
修改后:['aa', 'bb']
popped:cc
如果你不确定该使用del语句还是pop()方法,下面是一个简单的判断标准:如果你要从列表 中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续 使用它,就使用方法pop()。
(3) 根据值删除元素
当不知道要从列表中删除的值所处的位置但是知道要删除的元素的值时,可使用方法remove()。
例如:
names = ["aa" ,"bb" ,"cc"]
print(f"修改前:{names}")
names.remove("aa")
print(f"修改后:{names}")
运行后的结果为:
修改前:['aa', 'bb', 'cc']
修改后:['bb', 'cc']
方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
三、组织列表
1、使用方法 sort()对列表进行永久性排序
Python方法sort()可以对列表进行排序。例如可以对列表names按字母进行排序。值得注意的是,sort永久性的修改了列表元素的顺序。例如:
names = ["jia" ,"you" ,"a"]
print(f"修改前:{names}")
names.sort()
print(f"修改后:{names}")
运行后的结果为:
修改前:['jia', 'you', 'a']
修改后:['a', 'jia', 'you']
可以将向sort()方法传递参数 reverse=True,从而使得列表的元素按字母的相反顺序排列。例如:
names = ["jia" ,"you" ,"a"]
print(f"修改前:{names}")
names.sort(reverse=True)
print(f"修改后:{names}")
运行后的结果为:
修改前:['jia', 'you', 'a']
修改后:['you', 'jia', 'a']
2、使用函数 sorted()对列表进行临时排序
要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。函数 sorted()能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。例如:
names = ["jia" ,"you" ,"a"]
print(f"原始列表:{names}")
print(f"排序后列表:{sorted(names)}")
print(f"使用sorted后看列表顺序有无改变:{names}")
运行后的结果为:
原始列表:['jia', 'you', 'a']
排序后列表:['a', 'jia', 'you']
使用sorted后看列表顺序有无改变:['jia', 'you', 'a']
3、倒着打印列表
names = ["jia" ,"you" ,"a"]
print(f"原始列表:{names}")
names.reverse()
print(f"修改后列表:{names}")
运行后的结果为:
原始列表:['jia', 'you', 'a']
修改后列表:['a', 'you', 'jia']
4、得到列表长度
使用函数len()可得到列表的长度。
names = ["jia" ,"you" ,"a"]
print(f"列表长度:{len(names)}")
运行后的结果为:
列表长度:3