Python 列表的基本操作介绍

 更新时间:2022年01月24日 12:04:35   作者:不羁  
这篇文章主要介绍了Python 列表的基本操作,下面文章围绕Python 列表的相关资料展开文章的详细内容,,需要的朋友可以参考一下,希望对大家有所帮助

1、向List中添加元素的方法

1.1 Python append()方法添加元素

append() 方法用于在列表的末尾追加元素,该方法的语法格式如下:

listname.append(obj)

其中,listname 表示要添加元素的列表;obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。

1.2 Python extend()方法添加元素

extend() 和 append() 的不同之处在于:extend() 不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中。

 extend() 方法的语法格式如下:

listname.extend(obj)

其中,listname 指的是要添加元素的列表;obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。

示例:

l = ['Python', 'C++', 'Java'] # 追加元素 
l.extend('C') 
print(l)   
# 追加元组,元祖被拆分成多个元素
 t = ('JavaScript', 'C#', 'Go')
 l.extend(t) 
print(l)   
# 追加列表,列表也被拆分成多个元素 
l.extend(['Ruby', 'SQL']) print(l)   


运行结果:

['Python', 'C++', 'Java', 'C']
 ['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go']
['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go', 'Ruby', 'SQL']

1.3 Python insert()方法插入元素

append() extend() 方法只能在列表末尾插入元素,如果希望在列表中间某个位置插入元素,那么可以使用 insert() 方法。

 insert() 的语法格式如下:

listname.insert(index,obj)

其中,index 表示指定位置的索引值。insert() 会将 obj 插入到 listname 列表第 index 个元素的位置。 当插入列表或者元祖时,insert() 也会将它们视为一个整体,作为一个元素插入到列表中,这一点和 append() 是一样的。

2、向List中删除元素的方法

在 Python 列表中删除元素主要分为以下 3 种场景:

  • 根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法;
  • 根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法;
  • 将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法。

2.1 del:根据索引值删除元素

del 可以删除列表中的单个元素,格式为:

del listname[index]

其中,listname 表示列表名称,index 表示元素的索引值。 del 也可以删除中间一段连续的元素,

格式为:

del listname[start : end]

2.2 pop():根据索引值删除元素

Python pop() 方法用来删除列表中指定索引处的元素,

具体格式如下:

listname.pop(index)

其中,listname 表示列表名称,index 表示索引值。如果不写 index 参数,默认会删除列表中的最后一个元素,类似于数据结构中的“出栈”操作。

大部分编程语言都会提供和 pop() 相对应的方法,就是 push() ,该方法用来将元素添加到列表的尾部,类似于数据结构中的“入栈”操作。

但是 Python 是个例外,Python 并没有提供 push() 方法,因为完全可以使用 append() 来代替 push() 的功能。

2.3 remove():根据元素值进行删除

除了 del 关键字,Python 还提供了 remove() 方法,该方法会根据元素本身的值来进行删除操作。

需要注意的是,remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。

nums = [40, 36, 89, 2, 36, 100, 7]
#第一次删除36
nums.remove(36)
print(nums)
#第二次删除36
nums.remove(36)
print(nums)
#删除78
nums.remove(78)
print(nums)


运行结果:

[40, 89, 2, 36, 100, 7]
[40, 89, 2, 100, 7]
Traceback (most recent call last):
    File "C:\Users\mozhiyan\Desktop\demo.py", line 9, in <module>
        nums.remove(78)
ValueError: list.remove(x): x not in list

最后一次删除,因为 78 不存在导致报错,所以我们在使用 remove() 删除元素时最好提前判断一下。

2.4 clear():删除列表所有元素

Python clear() 用来删除列表的所有元素,也即清空列表,

请看下面的代码:

url = list("http://c.biancheng.net/python/")
url.clear()
print(url)


运行结果:

[]

3、list列表修改元素

3.1 修改单个元素

修改单个元素非常简单,直接对元素赋值即可。

请看下面的例子:

nums = [40, 36, 89, 2, 36, 100, 7]
nums[2] = -26  #使用正数索引
nums[-3] = -66.2  #使用负数索引
print(nums)


运行结果:

[40, 36, -26, 2, -66.2, 100, 7]

使用索引得到列表元素后,通过=赋值就改变了元素的值。

3.2 修改一组元素

Python 支持通过切片语法给一组元素赋值。在进行这种操作时,如果不指定步长(step 参数),Python 就不要求新赋值的元素个数与原来的元素个数相同;这意味,该操作既可以为列表添加元素,也可以为列表删除元素。

示例:

nums = [40, 36, 89, 2, 36, 100, 7]
#修改第 1~4 个元素的值(不包括第4个元素)
nums[1: 4] = [45.25, -77, -52.5]
print(nums)


运行结果:

[40, 45.25, -77, -52.5, 36, 100, 7]

4、list列表查找元素

4.1 index() 方法

index() 方法用来查找某个元素在列表中出现的位置(也就是索引),如果该元素不存在,则会导致 ValueError 错误,所以在查找之前最好使用 count() 方法判断一下。

index() 的语法格式为:

listname.index(obj,start,end)

其中,listname 表示列表名称,obj 表示要查找的元素,start 表示起始位置,end 表示结束位置。

4.2 count()方法

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

基本语法格式为:

listname.count(obj)

其中,listname 代表列表名,obj 表示要统计的元素。

如果 count() 返回 0,就表示列表中不存在该元素,所以 count() 也可以用来判断列表中的某个元素是否存在。

5、总结

Python中列表是可修改类型,在程序运行过程中可以对列表的元素进行插入和删除运算。但是元组却是不可修改类型,要对其进行更改操作可以通过再构造一个新的元组替换旧的元组,来实现元素的插入和删除。

到此这篇关于Python 列表的基本操作介绍的文章就介绍到这了,更多相关Python 列表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中多线程thread与threading的实现方法

    Python中多线程thread与threading的实现方法

    这篇文章主要介绍了Python中多线程thread与threading的实现方法,很重要的应用,需要的朋友可以参考下
    2014-08-08
  • python函数式编程学习之yield表达式形式详解

    python函数式编程学习之yield表达式形式详解

    这篇文章主要给大家介绍了关于python函数式编程学习之yield表达式形式的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。
    2018-03-03
  • python 文件转成16进制数组的实例

    python 文件转成16进制数组的实例

    今天小编就为大家分享一篇python 文件转成16进制数组的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python爬虫爬取微博评论案例详解

    python爬虫爬取微博评论案例详解

    这篇文章主要介绍了python爬虫爬取微博评论,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Python中处理unchecked未捕获异常实例

    Python中处理unchecked未捕获异常实例

    这篇文章主要介绍了Python中处理unchecked未捕获异常实例,本文讲解使用回调或者是钩子来处理unchecked异常,需要的朋友可以参考下
    2015-01-01
  • tensorflow从ckpt和从.pb文件读取变量的值方式

    tensorflow从ckpt和从.pb文件读取变量的值方式

    这篇文章主要介绍了tensorflow从ckpt和从.pb文件读取变量的值方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 日常整理python执行系统命令的常见方法(全)

    日常整理python执行系统命令的常见方法(全)

    本文是小编日常整理的些关于python执行系统命令常见的方法,比较全面,特此通过脚本之家这个平台把此篇文章分享给大家供大家参考
    2015-10-10
  • Python中defaultdict与dict的差异详情

    Python中defaultdict与dict的差异详情

    这篇文章主要介绍了Python中defaultdict与dict的差异,在collections模块中的defauldict使用时与dict有何不同,为何我们用dict中的key值不存在时会报错,而defaudict不会报错,下面文章做出解答,需要的朋友可以参考一下
    2021-11-11
  • Python Trie树实现字典排序

    Python Trie树实现字典排序

    Trie树是一种很常用的树结构,它被广泛用于各个方面,比如字符串检索、中文分词、求字符串最长公共前缀和字典排序等等,而且在输入法中也能看到Trie树的身影
    2014-03-03
  • python中struct模块之字节型数据的处理方法

    python中struct模块之字节型数据的处理方法

    今天小编就为大家分享一篇python中struct模块之字节型数据的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08

最新评论