Python内置函数/方法详解—列表list
列表是一个有序且可更改的集合,并且是最常用的 Python 数据类型。在 Python 中,列表是使用方括号 []
编写的。
1、创建列表
在Python中,列表中元素的数据类型可以不同,可以包含整数、浮点数和复数等,当然,也可以包含列表、元组、字典和集合等。
1.1 使用 [ ] 创建列表
创建一个列表,只需要把逗号分隔的不同数据项使用方括号 [] 括起来即可。
- 创建空列表
list0 = []
- 创建非空列表
list1 = ['Baidu', 'Alibaba', 'Tencent']
1.2 使用 list() 函数 创建(转换为)列表
this_list = list(('apple', 'banana', 'cherry'))
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])
wzq
hxw
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']
在使用切片访问列表元素时,
list_name[strat : end : step]
,[start:end] 是左闭右开区间,即访问不了 end 代表的元素。
2.3 for 循环遍历列表
fruit_list = ['apple', 'pear', 'cherry']
for i in fruit_list:
print(i)
apple
pear
cherry
2.4 检查项目是否存在
# 检查列表中是否存在'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 列表连接(合并)/复制
与字符串一样,列表之间可以使用 +
号和 *
号实现元组的连接和复制,这就意味着它们可以生成一个新的列表。
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 模块
import operator
a = [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): False
operator.eq(b, c): True
3、内置函数
3.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.3 返回变量类型 type()
3、type()
函数
使用 type() 函数可以确定变量是什么类型(字符串、列表、元组、字典或集合)。
info_list = ['name', 'gender', 'age', 'height', 'weight']
print(type(info_list))
<class '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()
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
-5
z
A
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
当我们使用 del 函数删除某列表后,再使用 print() 函数打印输出时,会报错
NameError: name 'list_de' is not defined
,表明该列表未被定义。
4、内置方法
4.1 添加元素 append()、insert()、extend()
1、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()
方法
list.insert(position, element)
参数值
参数 | 描述 |
---|---|
position | 必需。数字,指定在哪个位置插入值。 |
element | 必需。元素,任何类型(字符串、数字、对象等)。 |
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()
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' 值的函数:
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()
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()
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,返回最后的项目。 |
实例
fruits = ['apple', 'banana', 'cherry']
fruits.pop()
print(fruits)
['apple', 'banana']
fruits = ['apple', 'banana', 'cherry']
fruits.pop(1)
print(fruits)
['apple', 'cherry']
2、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)
[]
clear() 方法的作用是清空列表,执行结束后对其使用 print() 打印输出时,会输出
[]
,说明列表还存在,只是空列表而已。del 函数的作用是删除列表,执行结束后对其使用 print() 打印输出时,会报错
NameError: name 'word' is not defined.
。
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() | 清空列表 |
以上就是本文的全部内容啦!如果对您有帮助,麻烦点赞啦!收藏啦!欢迎各位评论区留言!!!
原文地址:https://blog.csdn.net/m0_70885101/article/details/126022872
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_35492.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!