当前位置:首页 » 编程语言 » 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-02-07 03:43:58 浏览:555
安卓读写权限在哪里 发布:2025-02-07 03:29:21 浏览:36
钉邮怎么找回密码 发布:2025-02-07 03:16:40 浏览:81
比特币钱包源码 发布:2025-02-07 03:16:39 浏览:101
饥荒如何转移服务器 发布:2025-02-07 03:14:42 浏览:4
怎么才能知道电视是不是安卓系统 发布:2025-02-07 03:04:23 浏览:817
银行更改密码红色预警是什么意思 发布:2025-02-07 02:54:22 浏览:552
androiddomain 发布:2025-02-07 02:46:04 浏览:844
端口扫描源码 发布:2025-02-07 02:31:01 浏览:471
androidurl获取图片 发布:2025-02-07 02:22:11 浏览:483