如何进行python列表加减

图片[1]-如何进行python列表加减-uusu优素-乐高,模型,3d打印,编程

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)会出问题。

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容