python如何删除列表中的元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何删除列表中的元素相关的知识,希望对你有一定的参考价值。
参考技术A删除所有的元素用clear()方法
Remove all items: clear()
删除指定位置用pop
Remove an item by index and get its value: pop()
通过值来删除
Remove an item by value: remove()
通过index来删除
Remove items by index or slice: del
python如何删除list里重复的元素?
参考技术A一共使用四种方法来去除列表中的重复元素,下面是具体实现:
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)
参考技术B使用列表推导,只保留元素个数等于1的a = ['a', 'b', 'c', 'd', 'a', 'a'] b = [x for x in a if a.count(x) == 1] print b
列表推导中的x for x in a if a.count(1) == 1和下面的for循环等价,不过更简洁:
b = []
for x in a:
if a.count(x) == 1:
b.append(x)
print b
sort排序,默认按照ASCII码从小到大排序。
加了参数key后:相当于遍历l2,每次遍历的值传入key所对应的函数,
按每次遍历的return值进行排序,
Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块很轻松地联结在一起。
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。
以上是关于python如何删除列表中的元素的主要内容,如果未能解决你的问题,请参考以下文章
Python 中如何删除一个列表 List 中多个符合条件的元素