当前位置:首页 » 编程语言 » 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里面的数字必须是从小到大的顺序排列的,

热点内容
编程用的输入法 发布:2025-09-09 22:18:31 浏览:781
安卓机怎么上卡 发布:2025-09-09 21:30:16 浏览:525
编译运行后一闪而过 发布:2025-09-09 21:28:45 浏览:199
哪里可以搜到关于安卓的设计 发布:2025-09-09 21:28:07 浏览:65
安卓手机怎么搞苹果手机emoji 发布:2025-09-09 21:09:49 浏览:528
安卓手机忘记密码用什么软件刷机 发布:2025-09-09 20:52:48 浏览:19
手机存储8128够用吗 发布:2025-09-09 20:47:26 浏览:857
存储池消失 发布:2025-09-09 20:45:59 浏览:178
xshell如何配置串口 发布:2025-09-09 20:24:18 浏览:847
算法岗读博 发布:2025-09-09 20:24:17 浏览:977