gpt4 book ai didi

python - 从嵌套列表中删除元素

转载 作者:太空宇宙 更新时间:2023-11-04 07:51:26 29 4
gpt4 key购买 nike

我是 python 的新手,正在学习列表。我正在尝试创建一个将从列表中删除特定值的函数。我知道有一个 .remove() 函数可以删除元素,但它对嵌套列表不起作用。

def remove(list, x):
if x in list:
return list.remove(x)

mylist = [[1, 2, 3, 2, 4, 8, 2],2]
remove(mylist, 2)
print(mylist)

我想得到的结果:

[1, 3, 4, 8]

提前感谢您的帮助

最佳答案

我在这里定制你的代码你可以看到在线版本https://onlinegdb.com/Sk2oA9KGV

不明白的继续看说明

def remove(list, x):
if x in list:
return list.remove(x)

mylist = [[1, 2, 3, 2, 4, 8, 2],2]
for i in range(len(mylist)):

if isinstance(mylist[i], list) == True :
mylist[i] = list(set(mylist[i]))
mylist[i].remove(2)
mylist[i].sort()
else :
if mylist[i] == 2 :
del mylist[i]
print(mylist)
print()

最后的结果是这样的

print(mylist)

[[1, 3, 4, 8]]

print(mylist[0])

[1, 3, 4, 8]


Complete description

首先需要用for循环将多维数组中的数组分隔开

for i in range(len(mylist)):

然后你应该检查你拥有的当前变量是否是array

if isinstance(mylist[i], list) == True :

如果条件为真那么你继续要在此处删除重复项 2 您需要此行

mylist[i] = list(set(mylist[i]))

然后运行你的删除函数

mylist[i].remove(2)

在此之后,您的结果将像这样 [8, 1, 3, 4]然后你应该通过这段代码对你的数组进行排序

mylist[i].sort()

还有一件事,如果你的变量没有排列,你应该检查它是否与你想要删除的项目匹配,如果匹配则删除它

if mylist[i] == 2 : 
del mylist[i]

关于python - 从嵌套列表中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175302/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com