温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python列表list知识点有哪些

发布时间:2022-11-23 17:35:58 阅读:161 作者:iii 栏目:编程语言
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍“Python列表list知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python列表list知识点有哪些”文章能帮助大家解决问题。

Python内置函数/方法详解—列表list

列表是一个有序可更改的集合,并且是最常用的 Python 数据类型。在 Python 中,列表是使用方括号 [] 编写的。

1、创建列表

在Python中,列表中元素的数据类型可以不同,可以包含整数、浮点数和复数等,当然,也可以包含列表、元组、字典和集合等。

1.1 使用 [ ] 创建列表

创建一个列表,只需要把逗号分隔的不同数据项使用方括号 [] 括起来即可。

  • 创建空列表

list0 = []
  • 创建非空列表

list1 = ['Baidu''Alibaba''Tencent']

1.2 使用 list() 函数 创建(转换为)列表

  • 可以使用 list() 构造函数创建列表:

this_list = list(('apple''banana''cherry'))

注意:在使用 list() 函数创建列表时,一定要注意双括号

  • 在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])
wzq
hxw

正向索引:从第一个(下标0)开始、第二个(下标1)…

反向索引:从倒数第一个(下标-1)、倒数第二个(下标-2)…

2.2 切片访问

如若对上方描述不太理解,可参考下表:

元组值wzqlglgzwhlsjhxw
正向索引012345
反向索引-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 循环遍历列表

可以使用 for 循环遍历列表中的项目:

fruit_list = ['apple''pear''cherry']for i in fruit_list:
    print(i)
apple
pear
cherry

2.4 检查项目是否存在

要确定列表中是否存在指定的项,我们可以使用 in 关键字:

# 检查列表中是否存在'apple'fruit_list = ['apple''pear''cherry']print('apple' in fruit_list)
True

使用 in 关键字检查列表中是否存在指定项时,如果存在,则返回 True ;反之,则返回 False

2.5 更改列表值

当我们创建列表后,我们可以对列表中的数据项进行修改或更新,当然我们也可以使用 append() 方法来添加列表项。

fruit_list = ['apple''pear''cherry']fruit_list[2] = 'banana'print(fruit_list)
['apple''pear''banana']

注意:元组一旦创建后,其值将无法被更改,但是有其他解决方法。

2.6 列表连接(合并)/复制

与字符串一样,列表之间可以使用 + 号和 * 号实现元组的连接复制,这就意味着它们可以生成一个新的列表。

1、+连接(合并)

x = [123]y = [456]print(x + y)
[1, 2, 3, 4, 5, 6]

2、*复制

x = ['Hello']print(x * 5)
['Hello''Hello''Hello''Hello''Hello']

2.7 嵌套列表

使用嵌套列表即在列表里面创建其他列表。

x = [123]y = ['a''b''c']z = [x, y]print(z)
[[1, 2, 3]['a''b''c']]

2.8 列表比较

列表比较需要引入 operator 模块的 eq 方法。

# 导入 operator 模块import operator

a = [12]b = [23]c = [23]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'True1.7865]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))
<class 'list'>

当对info_list使用 type() 确定变量类型时,会返回<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(16)print(list(range1))
[1, 2, 3, 4, 5]

3.5 元组元素最大/小值 max()、min()

5、max()函数和min()函数

max() 函数的作用是返回列表中元素最大值min() 函数的作用是返回列表中元素最小值

list1 = [4620-5]print(max(list1))print(min(list1))list2 = ['a''z''A''Z']print(max(list2))print(min(list2))
6-5z
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()方法

append() 方法用于在列表末尾添加新的对象。

语法

list.append(element)

参数值

参数描述
element必需。任何类型(字符串、数字、对象等)的元素。

实例

  • 添加元素

fruit_list = ['apple''banana''cherry']fruit_list.append('pear')print(fruit_list)
['apple''banana''cherry''pear']
  • 添加列表

x = [123]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 = [123]y = ['a''c']x.insert(0, y)print(x)
[['a''c']123]

append() 只能在末尾处添加元素或列表,insert() 可以在任意位置添加元素或列表。

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 = [123]aver.extend(list1)print(aver)
['A''B''C', 1, 2, 3]
  • 添加元组元素到列表末尾

tuple1 = (123)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 = {123}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 = [142978931]print(num.count(9))
2

4.3 指定值索引 index()

index() 方法用于从列表中找出某个值第一个匹配项的索引位置。

语法

list.index(element)

参数值

参数描述
element必需。任何类型(字符串、数字、列表等)。要搜索的值。

实例

num = [45564321632]print(num.index(32))
3

当被搜索值在列表中多次出现时,仅返回首次出现的位置。

4.4 对列表排序 sort()

sort() 方法用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

语法

list.sort(reverse=True|Falsekey=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 = [(22), (34), (41), (13)]# 指定第二个元素排序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']

复制(制作副本)的另一种方法是使用内置函数 list() ,如下:

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 = [13283]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() 方法的作用是清空列表,执行结束后对其使用 printf() 打印输出时,会输出 [] ,说明列表还存在,只是空列表而已。

del 函数的作用是删除列表,执行结束后对其使用 printf() 打印输出时,会报错 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()清空列表

关于“Python列表list知识点有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×