python:列表详解

 更新时间:2021年10月09日 11:51:14   作者:陌上化雪  
这篇文章主要介绍了Python中列表(List)的详解操作方法,包含创建、访问、更新、删除、其它操作等,需要的朋友可以参考下

列表list

1、列表创建

list1 = [3.14, 1.61, 0, -9, 6]
list2 = [‘train', ‘bus', ‘car', ‘ship']
list3 = [‘a',200,‘b',150, ‘c',100]
list4 = [] #创建空列表

 在Python中,经常用到列表中的列表,即二维列表

2、列表访问

索引访问方式适用于所有序列类型的对象:列表、元组、字符串。

1)一维列表的访问

vehicle = [‘train', ‘bus', ‘car', ‘ship']
vehicle[0]
‘train'
vehicle[1]
‘bus'
vehicle[2]
‘car'

2)二维列表的访问

对二维列表中的元素进行访问,需要使用两对方括号来表示,第一个表示选择子列表,第二个在选中的子列表中再选择其元素。

computer=[[‘IBM',‘Apple',‘Lenovo'],[‘America',‘America',‘China']]
computer[0][-1]
‘Lenovo'
computer[1][2]
‘China'

3、修改元素

4、列表切片

1.在列表中,可以使用切片操作来选取指定位置上的元素组成新的列表。简单的切片方式为:

原列表名[start : end]

需要提供开始值start和结束值end作为切片的开始和结束索引边界。

开始值start索引位置上的元素是包含在切片内的,结束值end索引位置上的元素则不包括在切片内;

当切片的左索引start为0时可缺省,当右索引end为列表长度时也可缺省。

这个简单的切片操作从原列表中选取索引位于[start, end)区间内的元素组成新的列表。

2.切片操作也可以提供一个非零整数(即可正可负,但不能为0)作为索引值增长的步长step值。使用方式为:

原列表名[start : end : step]

  • 当步长为1时,step参数可以省略。
  • 步长step为1时可以省略,当步长step不为1时,该参数不可省略。
  • 切片操作适用于所有序列类型。

5、del命令

  • 使用del命令可以从列表中删除元素,也可以删除整个列表。
vehicle = [‘train', ‘bus', ‘car', ‘ship']
del vehicle[3]
vehicle #删除了'ship'
[‘train', ‘bus', ‘car']
del vehicle[3] #超出索引范围
Traceback (most recent call last):
File “<pyshell#50>”, line 1, in
del vehicle[3]
IndexError: list assignment index out of range
del vehicle #删除列表vehicle
vehicle #列表vehicle不存在了
Traceback (most recent call last):
File “<pyshell#82>”, line 1, in
vehicle
NameError: name ‘vehicle' is not defined
另外,remove()、pop()、clear()方法均能实现列表元素的删除

6、列表运算

1)列表相加

vehicle1 = [‘train', ‘bus', ‘car', ‘ship']
vehicle2 = [‘subway', ‘bicycle']
vehicle1 + vehicle2
[‘train', ‘bus', ‘car', ‘ship', ‘subway', ‘bicycle']
vehicle1 # vehicle1没有改变
[‘train', ‘bus', ‘car', ‘ship']
vehicle2
[‘subway', ‘bicycle']
vehicle=vehicle1 + vehicle2 # 生成新列表赋值给变量vehicle
vehicle
[‘train', ‘bus', ‘car', ‘ship', ‘subway', ‘bicycle']
vehicle+=[‘bike'] #复合赋值语句
vehicle
[‘train', ‘bus', ‘car', ‘ship', ‘subway', ‘bicycle', ‘bike']

2)列表相乘

vehicle1 = [‘train', ‘bus']
vehicle1*2
[‘train', ‘bus', ‘train', ‘bus']
vehicle1 #原列表保持不变
[‘train', ‘bus']
vehicle=vehicle1*2 #赋值语句
vehicle
[‘train', ‘bus', ‘train', ‘bus']
vehicle*=2 #复合赋值语句
vehicle
[‘train', ‘bus', ‘train', ‘bus', ‘train', ‘bus', ‘train', ‘bus']

7、列表方法

列表中的方法可看作是作用于Python中列表这一特定类型对象的函数。

1) index(value[,start=0[,stop]])

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

如果没有指定参数start的值,则从索引为0的位置开始查找,否则从索引为strat的位置开始查找。

如果没有指定结束索引位置stop的值,可以查找到列表最后元素,否则在位于[start, stop)内的索引区间查找。

如果找不到匹配项,就会引发异常。

vehicle = [‘train', ‘bus', ‘car', ‘subway', ‘ship', ‘bicycle', ‘car']
vehicle.index(‘car') #整个列表范围内'car'第1次出现的索引位置是2
2
vehicle.index(‘plane') #整个列表范围内没有'plane'
Traceback (most recent call last):
File “<pyshell#81>”, line 1, in
vehicle.index(‘plane')
ValueError: ‘plane' is not in list
vehicle.index(‘plane') #整个列表范围内没有'plane'
Traceback (most recent call last):
File “<pyshell#81>”, line 1, in
vehicle.index(‘plane')
ValueError: ‘plane' is not in list
vehicle.index(‘plane') #整个列表范围内没有'plane'
Traceback (most recent call last):
File “<pyshell#81>”, line 1, in
vehicle.index(‘plane')
ValueError: ‘plane' is not in list

2) count()

count()方法,用于统计某个元素在列表中出现的次数。

vehicle = [‘train', ‘bus', ‘car', ‘subway', ‘ship', ‘bicycle', ‘car']
vehicle.count(‘car')
2
vehicle.count(‘bus')
1
vehicle.count(‘bike')
0

3)append()

append()方法,追加单个元素到列表的尾部,只接受一个元素,元素可以是任何数据类型,被追加的元素在列表中保持着原结构类型。

vehicle = [‘train', ‘bus', ‘car', ‘ship']
vehicle.append (‘plane') #追加一个元素'plane'
vehicle
[‘train', ‘bus', ‘car', ‘ship', ‘plane']
vehicle.append(8) #追加一个元素8
vehicle
[‘train', ‘bus', ‘car', ‘ship', ‘plane', 8]
vehicle.append([8,9]) #追加一个元素[8,9]
vehicle
[‘train', ‘bus', ‘car', ‘ship', ‘plane', 8, [8, 9]]
vehicle.append(10,11) #追加2个元素10和11,出错
Traceback (most recent call last):
File “<pyshell#7>”, line 1, in
vehicle.append(10,11)
TypeError: append() takes exactly one argument (2 given)

4)extend()

列表.extend()方法在列表的末尾追加该方法中参数容器(列表、元组、字符串、字典、集合)中的所有元素。如果参数为字典,则追加字典中的所有键(key)

5)insert()

insert()方法,将一个元素插入到列表中的指定位置。列表的insert方法有两个参数,第一个参数是索引点,即插入的位置,第二个参数是插入的元素。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 详解Python是如何处理不同时区的

    详解Python是如何处理不同时区的

    时区是指在地球上不同地方的时间差异,地球分为 24 个时区,每个时区都相对于格林威治标准时间或协调世界时(UTC)有所偏移。本文主要和大家来聊聊Python是如何处理不同时区的,希望对大家有所帮助
    2023-02-02
  • python函数map()和partial()的知识点总结

    python函数map()和partial()的知识点总结

    在本篇文章里小编给大家分享了关于python函数map()和partial()的知识点总结,需要的朋友们可以参考下。
    2020-05-05
  • 基于Python实现随机点名系统的示例代码

    基于Python实现随机点名系统的示例代码

    在某些难以抉择得时候,我们经常要用外力来帮助我们做出选择,比如,梁山出征方腊前沙场点兵,挑选先锋的场景。所以本文就来用Python做个随机点名系统吧,需要的可以参考一下
    2023-04-04
  • python识别图像并提取文字的实现方法

    python识别图像并提取文字的实现方法

    这篇文章主要介绍了python识别图像并提取文字的实现方法,
    2019-06-06
  • Python内置函数locals和globals对比

    Python内置函数locals和globals对比

    这篇文章主要介绍了Python内置函数locals和globals对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • scrapy自定义pipeline类实现将采集数据保存到mongodb的方法

    scrapy自定义pipeline类实现将采集数据保存到mongodb的方法

    这篇文章主要介绍了scrapy自定义pipeline类实现将采集数据保存到mongodb的方法,涉及scrapy采集及操作mongodb数据库的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • Python机器学习库sklearn(scikit-learn)的基础知识和高级用法

    Python机器学习库sklearn(scikit-learn)的基础知识和高级用法

    Scikit-Learn是 Python 最流行的机器学习库之一,它提供了各种工具来实现、评估和探索各种学习算法,用于,各种机器学习任务,在本教程中,我们将介绍 Scikit-Learn 的基础知识和一些高级用法,并提供一些实例代码来帮助我们更好地理解
    2023-07-07
  • Python 3.6 性能测试框架Locust安装及使用方法(详解)

    Python 3.6 性能测试框架Locust安装及使用方法(详解)

    下面小编就为大家带来一篇Python 3.6 性能测试框架Locust安装及使用方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Python实现C#代码生成器应用服务于Unity示例解析

    Python实现C#代码生成器应用服务于Unity示例解析

    为了满足项目需要,需要实现一个c#代码生成器,为此设计了一个语法模板适用于Unity的代码生成器。本次使用了Python的Template模板,使用python开发
    2021-10-10
  • 详解重置Django migration的常见方式

    详解重置Django migration的常见方式

    这篇文章主要介绍了详解重置Django migration的常见方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02

最新评论