Python list运算操作代码实例解析

yipeiwu_com6年前Python基础

这篇文章主要介绍了Python list运算操作代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  在操作list的时候,经常用到对列表的操作运算,比如说,列表添加,删除操作,其实,这里面经常回遇到这样一个问题,就是列表的操作容易被混淆了。

有人做了一个总结,这个很清晰,我就不多做阐述了:

1.append() 向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加

2.extend() 向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加

3.+ 直接用+号看上去与用extend()一样的效果,但是实际上是生成了一个新的列表存这两个列表的和,只能用在两个列表相加上

4.+= 效果与extend()一样,向原列表追加一个新元素,在原有列表上增加

这里面还有一个问题,就是怎么对list进行加减的操作,很多人都容易把+ -号直接用到加减运算,这样很容易出错。其实,加减的有另外的操作方法:

我写了一个例子,能够清晰的解释了几个的差别和异同,如下所示:

import numpy as np

left = []
right = []

data1 = [12,12,12,12,12,12,12]
data2 = [12,12,12,12,12,12,12]
data3 = []
for item in data1:
  left.append(item)

for item1 in data2:
  right.append(item1)

aleft = np.array(left)
bleft = np.array(right)

cleft = aleft - bleft
dleft = aleft + bleft
print("list a sub list b:")
print(cleft)
print("list a add list b:")
print(dleft)
print("list a append list b:")
cleft = data1 + data2
data1.append(data2)
print(cleft)
print(data1)
print("list a extend list b:")
data3.extend(data2)
print(data3)

结果

list a sub list b:
[0 0 0 0 0 0 0]
list a add list b:
[24 24 24 24 24 24 24]
list a append list b:
[12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12]
[12, 12, 12, 12, 12, 12, 12, [12, 12, 12, 12, 12, 12, 12]]
list a extend list b:
[12, 12, 12, 12, 12, 12, 12]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

OpenCV模板匹配matchTemplate的实现

OpenCV模板匹配matchTemplate的实现

作用有局限性,必须在指定的环境下,才能匹配成功,是受到很多因素的影响,所以有一定的适应性 模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别...

Sanic框架基于类的视图用法示例

本文实例讲述了Sanic框架基于类的视图用法。分享给大家供大家参考,具体如下: 简介 基于类的视图只是实现对请求响应行为的类,他们提供了一种在同一端点上划分不同HTTP请求类型的处理方式...

pygame游戏之旅 载入小车图片、更新窗口

pygame游戏之旅 载入小车图片、更新窗口

本文为大家分享了pygame游戏之旅的第3篇,供大家参考,具体内容如下 载入car图片(我自己画的),需要用到pygame.image模块,定义carImg用于接收载入的图片 car...

PYQT5开启多个线程和窗口,多线程与多窗口的交互实例

PYQT5开启多个线程和窗口,多线程与多窗口的交互实例

每点击一次按钮,弹出一个对话框(子窗口),同时开启一个子线程来执行任务并更新对话框内容,关闭对话框则关闭对应子线程 1. 建立一个简单的主界面和一个自定义对话框 from PyQt...

使用Python的web.py框架实现类似Django的ORM查询的教程

Django中的对象查询 Django框架自带了ORM,实现了一些比较强大而且方便的查询功能,这些功能和表无关。比如下面这个例子: class Question(models.Mod...