当前位置:首页 > 云计算 > 正文内容

如何进行python列表加减

2022-05-04 03:13:05云计算3

python 中对list做减法操作

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

list1=['physics','chemistry',1997,2000]
list2=[1,2,3,4,5]
list3=["a","b","c","d"]

list可以进行的操作包括索引,切片,加,乘,检查成员。但是没有 减 操作。

问题描述

已知:

list1=[1,2,3,4,5]
list2=[1,4,5]

求:list3 。 list3中包括所有不在list2中出现的list1中的元素。

方法一 可以使用 set(集合)操作

list3=list(set(list1)–set(list2))

set操作会将一个list转换成一个集合。
假设:list_t=[1,2,3,1]
那么:list(set(list_t))=[1,2,3]
重复的项就会被删除。

方法二 list3 = [i for i in list1 if i not in list2] #可用于list分片

这样写也很直观。
但是在list很大的时候,没有set方法快。
额外知识:a=[[i,j]foriinrange(2)forjinrange(3)]
这个和“其他方案”非常相似,
都是在[]里面进行判断和计算。
感觉很方便,至少比下面这样要方便、要快:
a=[]
foriinrange(2):
forjinrange(3):
a.append([i,j])

某些问题:如果list_tmp = [[1,2],[2,3]]即list里面不是单独的元素组成,而是list,那么set(list_tmp)会出问题。

推荐学习《python教程》。

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/9514.html

标签: Python