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 切片访问

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

元组值 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 循环遍历列表

可以使用 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 = [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 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()

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'>

当对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(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
-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()方法

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]

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 = [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']

复制(制作副本)的另一种方法是使用内置函数 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 = [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() 清空列表

以上就是本文的全部内容啦!如果对您有帮助,麻烦点赞啦!收藏啦!欢迎各位评论区留言!!!

最后编辑于:2023/1/4 20:22文章来源地址https://www.toymoban.com/news/detail-776797.html

到了这里,关于Python 列表list详解(超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python基础List列表定义与函数

    如何定义一个非空的列表? 列表的特点: 1.列表是有序的 2.可以存放多个元素 3.每个元素可以是任何数据类型 定义一个空列表 访问列表中的元素 通过索引值来访问列表中的元素,索引从0开始 获取列表中的长度,内置函数len() 修改列表中的元素 列表切片,步长 说明:列表

    2024年02月09日
    浏览(43)
  • python内置函数bytes()用法详解

            python内置函数bytes返回一个新的bytes类型的对象,bytes类型对象是不可变序列,包含范围为 0 = x 256 的整数。bytes可以看做是bytearray的不可变版本,它同样支持索引和切片操作 bytes语法 class bytes([source[, encoding[, errors]]]) 语法结构: 参数解释: 可选形参source可以传入字

    2024年02月15日
    浏览(67)
  • Python 内置函数详解 (2) 逻辑运算

    Python3.11共有75个内置函数,其来历和分类请参考: Python 新版本有75个内置函数,你不会不知道吧_Hann Yang的博客-CSDN博客 https://blog.csdn.net/boysoft2002/article/details/132520234 abs                 aiter                all                     anext               any             

    2024年02月09日
    浏览(58)
  • Python list列表删除元素(4种方法)

    在 Python列表中删除元素主要分为以下 3 种场景: 根据目标元素所在位置的索引进行删除,可以使用 del 或者 pop() 方法; 根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法; 将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法

    2024年02月02日
    浏览(95)
  • Python 常用内置函数详解(二):print()函数----打印输出

    print() 函数是 Python 编程最常见的函数,常用于输出程序结果,默认输出到屏幕,也可以输出到指定文件中。 语法格式: 参数说明: value:表示要输出的值,可以是数字、字符串、各种类型的变量等。 … :值列表,表示可以一次性打印多个值,输出多个值时,需要使用 \\\",\\\"

    2024年04月28日
    浏览(51)
  • python求列表list平均值的方法

    python内置了两个函数,sum()和len()方法,其中sum()可以用于求取列表的元素和,len()函数可以用于求取列表list元素的个数,由此,利用python求列表list平均值的方法和步骤就脱颖而出了:第一步,使用sum()求元素和;第二步,使用len()求元素个数;第三步,分装为一个函数,方便

    2024年02月11日
    浏览(46)
  • python list列表写入txt文档的多种方法

    方法一 将列表写入txt文件中 如下代码所示 a是一段二维列表,需要把它写入一个txt文件中。 方法二 数据: u = [[\\\'mov\\\', \\\'push\\\', \\\'push\\\', \\\'call\\\', \\\'push\\\', \\\'push\\\', \\\'push\\\', \\\'call\\\'],[\\\'pop\\\', \\\'push\\\', \\\'call\\\', \\\'pop\\\', \\\'retn\\\', \\\'mov\\\', \\\'push\\\', \\\'call\\\', \\\'push\\\'],[\\\'push\\\', \\\'push\\\', \\\'call\\\', \\\'pop\\\', \\\'call\\\', \\\'pop\\\', \\\'retn\\\', \\\'mov\\\', \\\'push\\\'], [\\\'lea\\\',

    2024年02月10日
    浏览(44)
  • python中列表(list)拼接的三种方法

    你可以使用 Python 中的列表拼接操作来合并两个或多个列表。Python 提供了几种方式来实现列表的拼接,包括使用 + 运算符、extend() 方法和列表解析。 以下是这些方法的示例: 在这些示例中,list1 和 list2 是要拼接的两个列表。你可以根据需要选择其中一种方法来进行列表的拼

    2024年02月05日
    浏览(38)
  • python列表list的index方法的用法和实例

    目录 1.index方法的用法和实例 (1)语法:list.index(object[,start,end]) (2)用法:从列表中获取指定索引元素的第一个匹配位置。 (3)实例 ①简单的用法实例 ②与pop用法结合使用 ③if函数、while函数、input函数、for函数、split函数、pop方法结合使用 object:需要定索引的列表元

    2024年02月14日
    浏览(36)
  • python列表list元素降序排列两种方法

    sort()方法 python列表内置了一个sort()方法,可以用于为元素列表进行排序,当将默认参数reverse设置为True,sort()方法将为列表进行降序的排序,语法如下: listObj.sort(reverse=True) 提示 :该方法可修改原列表。 sort()降序实例代码 sorted()函数方法 sorted()函数是python内置的函数,可以

    2023年04月14日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包