当前位置:首页 » 编程语言 » pythonlist去掉

pythonlist去掉

发布时间: 2022-06-15 15:22:48

python:如果想要删除list中的list中的元素该怎么做呢


List1=[
['Apple','Google','Microsoft'],
['Java','Python','Ruby','PHP'],
['Adam','Bart','Lisa']
]
foriteminList1:
ifitem.count("Python"):
item.pop(item.index("Python"))
printList1

② python如何删除list里重复的元素

这个可简单可复杂。

简单的:利用集合

a=list(set(a))#这样就可以了,是不是很简单

复杂的:

就是先对列表排序,然后比较相邻元素是否相同,相同的则删除后面的。大体算法思路,代码自己写吧

当然还有其他的算法...

-----------------------------------------------------------------------------------

额, 不好意思,看错了

defQ(a):
aa=[]
foriina:
ifa.count(i)==1:
aa.append(i)
returnaa

这个就可以了,利用 list.count(obj) 计算obj在list中出现的次数进行判断

③ python list怎么删除元素

有两个方法

1.pop()
默认删除最后一个元素。
也可以给定一个索引值删除索引值对应的元素。

④ 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)

⑤ python 列表怎样去掉一个元素

li = [1,2,3,4,5,6]

# 1.使用del删除对应下标的元素
del li[2]
# li = [1,2,4,5,6]

# 2.使用.pop()删除最后一个元素
li.pop()
# li = [1,2,4,5]

# 3.删除指定值的元素
li.remove(4)
# li = [1,2,5]

# 4.使用切片来删除
li = li[:-1]
# li = [1,2]
# !!!切忌使用这个方法,如果li被作为参数传入函数,
# 那么在函数内使用这种删除方法,将不会改变原list

li = [1,2,3,4,5,6]
def delete(li, index):
li = li[:index] + li[index+1:]
delete(li, 3)
print li
# 会输出[1,2,3,4,5,6]

⑥ python中对list去重的多种方法

python中对list去重的多种方法
今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数。不过这个东西最终还是没用上。
问题就是对一个list中的新闻id进行去重,去重之后要保证顺序不变。
直观方法
最简单的思路就是:

这样也可行,但是看起来不够爽。

用set

另外一个解决方案就是用set:
代码如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]
ids = list(set(ids))

这样的结果是没有保持原来的顺序。

按照索引再次排序

最后通过这种方式解决:
代码如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]
news_ids = list(set(ids))
news_ids.sort(ids.index)

使用itertools.grouby

文章一开始就提到itertools.grouby, 如果不考虑列表顺序的话可用这个:
代码如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]
ids.sort()
it = itertools.groupby(ids)

for k, g in it:
print k

关于itertools.groupby的原理可以看这里:http://docs.python.org/2/library/itertools.html#itertools.groupby

网友补充:用rece

网友reatlk留言给了另外的解决方案。我补充并解释到这里:
代码如下:

In [5]: ids = [1,4,3,3,4,2,3,4,5,6,1]

In [6]: func = lambda x,y:x if y in x else x + [y]

In [7]: rece(func, [[], ] + ids)
Out[7]: [1, 4, 3, 2, 5, 6]

上面是我在ipython中运行的代码,其中的 lambda x,y:x if y in x else x + [y] 等价于 lambda x,y: y in x and x or x+[y] 。

⑦ python list 怎么删除

>>>l=[1,2,3,4,5]
>>>del(l[1])
>>>l
[1,3,4,5]

del删除某个list元素

>>>l.clear()
>>>l
[]

直接用clear清空

⑧ python list 怎么去除空的list

假设你要处理的列表是lst,代码如下:

L=[xforxinlstifx]

L就是你要的

⑨ 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里面的数字必须是从小到大的顺序排列的,

热点内容
xp3解压 发布:2025-03-29 19:37:49 浏览:769
阿里云的轻量云服务器如何转账号 发布:2025-03-29 19:34:22 浏览:339
小熊猫脚本 发布:2025-03-29 19:33:31 浏览:61
c语言数据的形式 发布:2025-03-29 19:21:01 浏览:646
access网站数据库 发布:2025-03-29 19:15:04 浏览:77
python276 发布:2025-03-29 19:14:23 浏览:809
小米安卓怎么设置http 发布:2025-03-29 19:09:55 浏览:123
编程密码学题 发布:2025-03-29 19:07:26 浏览:44
为什么安卓手机进不去王者荣耀 发布:2025-03-29 18:53:08 浏览:429
孩子学习编程好处 发布:2025-03-29 18:48:24 浏览:425