(资料图)
【相关推荐:Python3视频教程 】
Python内置函数/方法详解—列表list
列表是一个有序且可更改的集合,并且是最常用的 Python 数据类型。在 Python 中,列表是使用方括号 []
编写的。
1、创建列表
在Python中,列表中元素的数据类型可以不同,可以包含整数、浮点数和复数等,当然,也可以包含列表、元组、字典和集合等。
1.1 使用 [ ] 创建列表
创建一个列表,只需要把逗号分隔的不同数据项使用方括号 []括起来即可。
创建空列表list0 = []
登录后复制
创建非空列表list1 = ["Baidu", "Alibaba", "Tencent"]
登录后复制
1.2 使用 list() 函数 创建(转换为)列表
可以使用 list() 构造函数创建列表:this_list = list(("apple", "banana", "cherry"))
登录后复制
在Python中,我们可以使用 list() 函数将字符串、元组、字典和集合等其他类似对象转换为列表。具体用法见下方内置函数:2、访问列表
和列表一样,我们既可以使用下标索引访问列表中的某个元素(得到一个元素的值),也可以使用切片访问列表中的一组元素(得到是子列表)。
2.1 下标索引访问
下标索引访问元组分为两大类,即正向索引和反向索引,格式为 list_name[i]
,其中,list_name 表示列表名,i表示索引值,i可以是正数(正向索引)也可以是负数(反向索引)。
可以得知,list_name[0]
表示列表的第一个元素,list_name[-1]
则表示列表的最后一个元素。
list_name = ["wzq", "lgl", "gz", "whl", "sj", "hxw"]print(list_name[0])print(list_name[-1])
登录后复制
wzqhxw
登录后复制
2.2 切片访问
如若对上方描述不太理解,可参考下表:
元组值 | wzq | lgl | gz | whl | sj | hxw |
---|---|---|---|---|---|---|
正向索引 | 0 | 1 | 2 | 3 | 4 | 5 |
反向索引 | -6 | -5 | -4 | -3 | -2 | -1 |
使用切片访问列表的格式为 list_name[strat : end : step]
,其中,start 表示起始索引,end 表示结束索引,step 表示步长。
list_name = ["wzq", "lgl", "gz", "whl", "sj", "hxw"]print(list_name[1:5:2])print(list_name[-6:-1:3])
登录后复制
["lgl", "whl"]["wzq", "whl"]
登录后复制
2.3 for 循环遍历列表
可以使用 for循环遍历列表中的项目:
fruit_list = ["apple", "pear", "cherry"]for i in fruit_list: print(i)
登录后复制
applepearcherry
登录后复制
2.4 检查项目是否存在
要确定列表中是否存在指定的项,我们可以使用 in关键字:
# 检查列表中是否存在"apple"fruit_list = ["apple", "pear", "cherry"]print("apple" in fruit_list)
登录后复制
True
登录后复制
2.5 更改列表值
当我们创建列表后,我们可以对列表中的数据项进行修改或更新,当然我们也可以使用 append()方法来添加列表项。
fruit_list = ["apple", "pear", "cherry"]fruit_list[2] = "banana"print(fruit_list)
登录后复制
["apple", "pear", "banana"]
登录后复制
2.6 列表连接(合并)/复制
与字符串一样,列表之间可以使用 +
号和 *
号实现元组的连接和复制,这就意味着它们可以生成一个新的列表。
1、+
连接(合并)
x = [1, 2, 3]y = [4, 5, 6]print(x + y)
登录后复制
[1, 2, 3, 4, 5, 6]
登录后复制
2、*
复制
x = ["Hello"]print(x * 5)
登录后复制
["Hello", "Hello", "Hello", "Hello", "Hello"]
登录后复制
2.7 嵌套列表
使用嵌套列表即在列表里面创建其他列表。
x = [1, 2, 3]y = ["a", "b", "c"]z = [x, y]print(z)
登录后复制
[[1, 2, 3], ["a", "b", "c"]]
登录后复制
2.8 列表比较
列表比较需要引入 operator模块的 eq方法。
# 导入 operator 模块import operatora = [1, 2]b = [2, 3]c = [2, 3]print("operator.eq(a, b):", operator.eq(a, b))print("operator.eq(b, c):", operator.eq(b, c))
登录后复制
operator.eq(a, b): Falseoperator.eq(b, c): True
登录后复制
3、内置函数
3.1 打印输出 print()
1、print()
函数
print()函数的功能我们已经非常熟悉了,就是打印输出。
my_list = ["pink", True, 1.78, 65]print(my_list)
登录后复制
["pink", True, 1.78, 65]
登录后复制
3.2 确定列表项目 len()
2、len()
函数
当我们要确定一个列表有多少项目(元素)时,可以使用len()
函数。
fruit_list = ["apple", "banana", "cherry"]print(len(fruit_list))
登录后复制
3.3 返回变量类型 type()
3、type()
函数
使用 type()函数可以确定变量是什么类型(字符串、列表、元组、字典或集合)。
info_list = ["name", "gender", "age", "height", "weight"]print(type(info_list))
登录后复制
登录后复制
3.4 转换为列表 list()
4、tuple()
函数
tuple()函数的功能是,将其他类型转换为元组类型,详细用法如下:
将字符串转换为列表str1 = "Hello Python"print(list(str1))
登录后复制
["H", "e", "l", "l", "o", " ", "P", "y", "t", "h", "o", "n"]
登录后复制
将元组转换为列表tuple1 = ("Hello", "Python")print(list(tuple1))
登录后复制
["Hello", "Python"]
登录后复制
将字典转换为列表dict1 = {"Hello": "Python", "name": "pink"}print(list(dict1))
登录后复制
["Hello", "name"]
登录后复制
将集合转换为列表set1 = {"Hello", "Python", "name", "pink"}print(list(set1))
登录后复制
["Python", "name", "pink", "Hello"]
登录后复制
将区间转换为列表range1 = range(1, 6)print(list(range1))
登录后复制
[1, 2, 3, 4, 5]
登录后复制
3.5 元组元素最大/小值 max()、min()
5、max()
函数和min()
函数
max()函数的作用是返回列表中元素最大值。min()函数的作用是返回列表中元素最小值。
list1 = [4, 6, 2, 0, -5]print(max(list1))print(min(list1))list2 = ["a", "z", "A", "Z"]print(max(list2))print(min(list2))
登录后复制
6-5zA
登录后复制
3.6 删除列表 del
删除单个元素我们可以使用 del list_name[i]
来删除某个指定元素,其中 list_name表示列表名,i表示指定值的索引值。
list_de = ["Baidu", "Alibaba", "Tencent", "Bytedance"]del list_de[1]print(list_de)
登录后复制
["Baidu", "Tencent", "Bytedance"]
登录后复制
删除列表del函数不仅可以实现删除某个元素,还可以删除整个列表。
list_de = ["Baidu", "Alibaba", "Tencent", "Bytedance"]del list_de
登录后复制
4、内置方法
4.1 添加元素 append()、insert()、extend()
1、append()
方法
append()方法用于在列表末尾添加新的对象。
语法
list.append(element)
登录后复制
参数值
参数 | 描述 |
---|---|
element | 必需。任何类型(字符串、数字、对象等)的元素。 |
实例
添加元素fruit_list = ["apple", "banana", "cherry"]fruit_list.append("pear")print(fruit_list)
登录后复制
["apple", "banana", "cherry", "pear"]
登录后复制
添加列表x = [1, 2, 3]y = ["A", "B", "C"]x.append(y)print(x)
登录后复制
[1, 2, 3, ["A", "B", "C"]]
登录后复制
2、insert()
方法
insert()方法用于将指定对象插入列表的指定位置。
语法
list.insert(position, element)
登录后复制
参数值
参数 | 描述 |
---|---|
position | 必需。数字,指定在哪个位置插入值。 |
element | 必需。元素,任何类型(字符串、数字、对象等)。 |
实例
把值 “orange” 作为第二个元素插入 fruits 列表:fruits = ["apple", "banana", "cherry"]fruits.insert(1, "orange")print(fruits)
登录后复制
["apple", "orange", "banana", "cherry"]
登录后复制
将列表 y 插入到列表 x 中x = [1, 2, 3]y = ["a", "c"]x.insert(0, y)print(x)
登录后复制
[["a", "c"], 1, 2, 3]
登录后复制
3、extend()
方法
extend()方法用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
语法
list.extend(iterable)
登录后复制
参数值
参数 | 描述 |
---|---|
iterable | 必需。任何可迭代对象(列表、集合、元组等)。 |
实例
aver = ["A", "B", "C"]
登录后复制
添加字符串元素到列表末尾str1 = "Hello"aver.extend(str1)print(aver)
登录后复制
["A", "B", "C", "H", "e", "l", "l", "o"]
登录后复制
添加列表元素到列表末尾list1 = [1, 2, 3]aver.extend(list1)print(aver)
登录后复制
["A", "B", "C", 1, 2, 3]
登录后复制
登录后复制
登录后复制
添加元组元素到列表末尾tuple1 = (1, 2, 3)aver.extend(tuple1)print(aver)
登录后复制
["A", "B", "C", 1, 2, 3]
登录后复制
登录后复制
登录后复制
添加字典元素到列表末尾dict1 = {"name": "pink", "gender": True}aver.extend(dict1)print(aver)
登录后复制
["A", "B", "C", "name", "gender"]
登录后复制
添加集合元素到列表末尾set1 = {1, 2, 3}aver.extend(set1)print(aver)
登录后复制
["A", "B", "C", 1, 2, 3]
登录后复制
登录后复制
登录后复制
添加区间到列表末尾range1 = range(1,10)aver.extend(range1)print(aver)
登录后复制
["A", "B", "C", 1, 2, 3, 4, 5, 6, 7, 8, 9]
登录后复制
4.2 元素出现次数 count()
count()方法用于统计某个元素在列表中出现的次数。
语法
list.count(value)
登录后复制
参数值
参数 | 描述 |
---|---|
value | 必需。任何类型(字符串、数字、列表、元组等)。要搜索的值。 |
实例
num = [1, 4, 2, 9, 7, 8, 9, 3, 1]print(num.count(9))
登录后复制
2
登录后复制
4.3 指定值索引 index()
index()方法用于从列表中找出某个值第一个匹配项的索引位置。
语法
list.index(element)
登录后复制
参数值
参数 | 描述 |
---|---|
element | 必需。任何类型(字符串、数字、列表等)。要搜索的值。 |
实例
num = [4, 55, 64, 32, 16, 32]print(num.index(32))
登录后复制
3
登录后复制
4.4 对列表排序 sort()
sort()方法用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
语法
list.sort(reverse=True|False, key=myFunc)
登录后复制
参数值
参数 | 描述 |
---|---|
reverse | 可选。reverse=True 将对列表进行降序排序。默认是 reverse=False。 |
key | 可选。指定排序标准的函数。 |
实例
以字母顺序对列表进行排序:words = ["Name", "Gender", "Age", "Height", "Weight"]words.sort()print(words)
登录后复制
["Age", "Gender", "Height", "Name", "Weight"]
登录后复制
对列表进行降序排序:words = ["Name", "Gender", "Age", "Height", "Weight"]words.sort(reverse=True)print(words)
登录后复制
["Weight", "Name", "Height", "Gender", "Age"]
登录后复制
按照值的长度对列表进行排序:# 返回值的长度的函数:def myfunc(e): return len(e)words = ["a", "bb", "ccc", "dddd", ""]words.sort(key=myfunc)print(words)
登录后复制
["", "a", "bb", "ccc", "dddd"]
登录后复制
根据字典的 “year” 值对字典列表进行排序:# 返回 "year" 值的函数:def myfunc(e): return e["year"]words = [ {"char": "a", "year": 1963}, {"char": "b", "year": 2010}, {"char": "c", "year": 2019}]words.sort(key=myfunc)print(words)
登录后复制
[{"char": "a", "year": 1963}, {"char": "b", "year": 2010}, {"char": "c", "year": 2019}]
登录后复制
按照值的长度对列表进行降序排序:# 返回值的长度的函数:def myfunc(e): return len(e)words = ["aa", "b", "ccc", "dddd"]words.sort(reverse=True, key=myfunc)print(words)
登录后复制
["dddd", "ccc", "aa", "b"]
登录后复制
指定列表中的元素排序来输出列表:# 获取列表的第二个元素def takeSecond(elem): return elem[1]# 列表random = [(2, 2), (3, 4), (4, 1), (1, 3)]# 指定第二个元素排序random.sort(key=takeSecond)# 输出类别print("排序列表:", random)
登录后复制
排序列表: [(4, 1), (2, 2), (1, 3), (3, 4)]
登录后复制
4.5 复制列表 copy()
copy()方法用于复制列表,类似于 a[:]。
语法
list.copy()
登录后复制
参数值
无参数
实例
fruits = ["apple", "banana", "cherry", "orange"]x = fruits.copy()print(x)
登录后复制
["apple", "banana", "cherry", "orange"]
登录后复制
list1 = ["apple", "banana", "cherry"]list_2 = list(list1)
登录后复制
4.6 颠倒列表顺序 reverse()
reverse()方法用于反向列表中元素。
语法
list.reverse()
登录后复制
参数值
无参数
实例
fruits = ["apple", "banana", "cherry"]fruits.reverse()print(fruits)
登录后复制
["cherry", "banana", "apple"]
登录后复制
4.7 删除元素 pop()、remove()、clear()
1、pop()
方法
pop()方法用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
语法
list.pop(pos)
登录后复制
参数值
参数 | 描述 |
---|---|
pos | 可选。数字,指定需删除元素的位置。默认值 -1,返回最后的项目。 |
实例
当 pos未指定时,默认删除最后的元素fruits = ["apple", "banana", "cherry"]fruits.pop()print(fruits)
登录后复制
["apple", "banana"]
登录后复制
pos指定要删除元素的位置fruits = ["apple", "banana", "cherry"]fruits.pop(1)print(fruits)
登录后复制
["apple", "cherry"]
登录后复制
2、remove()
方法
remove()方法用于移除列表中某个值的第一个匹配项。
语法
list.remove(element)
登录后复制
参数值
参数 | 描述 |
---|---|
element | 必需。需删除的任何类型(字符串、数字、列表等)的元素。 |
实例
num = [1, 3, 2, 8, 3]num.remove(3)print(num)
登录后复制
[1, 2, 8, 3]
登录后复制
3、clear()
方法
clear()方法用于清空列表,类似于 del a[:]。
语法
list.clear()
登录后复制
参数值
无参数
实例
word = ["A", "B", "C"]word.clear()print(word)
登录后复制
[]
登录后复制
5、总结
函数 | 描述 |
---|---|
print() | 打印输出 |
len() | 确定列表项目 |
type() | 返回变量类型 |
list() | 转换为列表 |
max() | 返回列表元素最大值 |
min() | 返回列表元素最小值 |
del | 删除列表 |
方法 | 描述 |
---|---|
append(obj) | 在列表末尾添加新的对象 |
insert(index, obj) | 在指定位置添加元素 |
extend(seq) | 将列表元素(或任何可迭代的元素)添加到当前列表的末尾 |
count(obj) | 统计某个元素在列表中出现的次数 |
index(obj) | 返回具有指定值的第一个元素的索引 |
sort( key=None, reverse=False) | 对原列表进行排序 |
copy() | 复制列表 |
reverse() | 颠倒列表的顺序 |
pop([-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
remove(obj) | 移除列表中某个值的第一个匹配项 |
clear() | 清空列表 |
【相关推荐:Python3视频教程 】
以上就是详细总结:Python列表list知识点的详细内容,更多请关注php中文网其它相关文章!