python的list删除元素
1. python中List添加、删除元素的几种方法
add element:
alist=[1,2,3]
alist.append(4)
print(alist)#[1,2,3,4]
delete element:
alist.remove(2)
print(alist)#[1,3,4]
alist.pop(2)
print(alist)#[1,3]
2. python如何删除list里重复的元素
这个可简单可复杂。
简单的:利用集合
a=list(set(a))#这样就可以了,是不是很简单
复杂的:
就是先对列表排序,然后比较相邻元素是否相同,相同的则删除后面的。大体算法思路,代码自己写吧
当然还有其他的算法...
-----------------------------------------------------------------------------------
额, 不好意思,看错了
defQ(a):
aa=[]
foriina:
ifa.count(i)==1:
aa.append(i)
returnaa
这个就可以了,利用 list.count(obj) 计算obj在list中出现的次数进行判断
3. python如何实现删除某list中所有重复出现的元素
1. 使用内置函数set
lists = [1,1,2,3,4,6,6,2,2,9]
lists = list(set(lists))
先将列表转换为集合,因为集合是不重复的,故直接删除重复元素,而且输出结果为排序后的
4. python如何删除list里重复的元素
一共使用四种方法来去除列表中的重复元素,下面是具体实现:
def f1(seq):
# not order preserving
set = {}
map(set.__setitem__, seq, [])
return set.keys()
def f2(seq):
# order preserving
checked = []
for e in seq:
if e not in checked:
checked.append(e)
return checked
def f3(seq):
# Not order preserving
keys = {}
for e in seq:
keys[e] = 1
return keys.keys()
def f4(seq):
# order preserving
noDupes = []
[noDupes.append(i) for i in seq if not noDupes.count(i)]
return noDupes
def f5(seq, idfun=None):
# order preserving
if idfun is None:
def idfun(x): return x
seen = {}
result = []
for item in seq:
marker = idfun(item)
# in old Python versions:
# if seen.has_key(marker)
# but in new ones:
if marker in seen: continue
seen[marker] = 1
result.append(item)
return result
def f6(seq):
# Not order preserving
set = Set(seq)
return list(set)
5. python的list 和tupe
一、list
list是python内置的有序的列表,可以随时添加和删除其中的元素
1、 定义
list_name = ["param1","param2","param3"]
2、访问
1)用索引来访问,索引从0开始
索引不可以越界,否则会报错,最后一个元素的索引是len(city) - 1
2)还可以从后开始访问 最后一个元素的索引为-1 依次类推,第一个元素的索引为-len(city)
>>> city[-1]
>>> '广州'
3、元素的追加
4、元素的插入
在city的索引1处增加 重庆
>>> city.insert(1,'重庆')
>>> city
>>> ['北京', '重庆', '上海', '广州', '南京']
5、元素的删除
1)删除末尾
2)删除指定位置元素 pop(i),i为索引值
6、元素的替换
7、二维list
访问的时候 我们就可以直接 city[1][0] city[1][1]来访问 其中的元素值
二、tuple(元组)
tupe和list的最大的区别就是 tuple一旦被创建 就无法修改
1、定义
2、访问
和list是一样的 country[0],country[1]。由于tuple是不可变的,所以没有append 和insert 函数
3、 一个元素的tuple
我们发现 当tuple的元素只有一个元素的时候,python会认为括号就是小括号的功能,就会按照整数或者字符串解析,为了解决这个问题,python规定这种情况 在后面加一个逗号','就可以
4、 tuple的指向不变
你会惊讶,怎么可以变了呢??
其实在python内部,c[0],c[1]指向 1 和 2,而c[2]是指向的一个list对象,其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变.
6. python删除list列表多个指定位置中的元素
li1=[12,3,4,5,2,34,5,6,7,3,5,6,66]
removelist=[1,2,4,5]
x=0
foryinremovelist:
li1.pop(y-x)
x+=1
printli1
这样有一个要求就是removelist里面的数字必须是从小到大的顺序排列的,
7. python list如何去除某个元素
1.使用remove方法,例如:
a=["aa","bb"]
a.remove("aa")
#["bb"]
2.使用pop方法,数字为索引从0开始.例如:
a=["aa","bb","cc"]
a.pop(1)
#["aa","cc"]
8. python 移除list里的元素
def remove_section(alist,start,end):
if start > len(alist):
# 开始位置越界返回原串
return alist[:]
elif end > len(alist):
# 结束位置越界
return alist[:start]
else:
a = alist[:start]
a.extend(alist[end:])
return a
9. python删除列表list中所有的零0元素
本来以为实现这个东西还不是小菜一碟,结果发现这个小东西竟然有坑,哼!
这个方法一是没坑的方法,亲测有效:
方法一:
list=[1,0,0,2]
lis=[]
for i in list:
if i!=0:
lis.append(i)
print(lis)
注意:千万不要用下面方法二和方法三这两个方法!是个坑人的坑!(生气)
方法二:
list=[1,0,0,2]
for i in list:
if i==0:
list.remove(i)
print(list)
方法三:
list=[1,0,0,2]
list.remove(0)
print(list)