如何在Python中从列表中删除负数?
我是Python新手,一直在用列表涂鸦。我只想打印列表中的正数,但是只有第一个负数元素被删除,第二个负数元素保持原样 这是我的密码:如何在Python中从列表中删除负数?,python,Python,我是Python新手,一直在用列表涂鸦。我只想打印列表中的正数,但是只有第一个负数元素被删除,第二个负数元素保持原样 这是我的密码: def myfunc(mylist1) : print("List before sorting the elements : ", mylist1) mylist1.sort() print("List after sorting the elements : ", mylist1) for i in range(0,len(my
def myfunc(mylist1) :
print("List before sorting the elements : ", mylist1)
mylist1.sort()
print("List after sorting the elements : ", mylist1)
for i in range(0,len(mylist1)) :
if mylist1[i] <= 0 :
del mylist1[i]
else:
break
print("After Operations,Final list : ", mylist1)
return
mylist = [67,78,54,-20,-23,44]
myfunc(mylist)
您可以通过列表理解删除它们。以下是定义函数的方式:
def myfunc(mylist1):
return sorted([x for x in mylist1 if x > 0])
print(myfunc(mylist1))
您可以通过列表理解删除它们。以下是定义函数的方式:
def myfunc(mylist1):
return sorted([x for x in mylist1 if x > 0])
print(myfunc(mylist1))
您正在从正在迭代的列表中删除,这会导致奇怪的结果是的,作为@aws_学徒,当您删除第一个元素(my_list[0]),第二个元素将成为第一个元素,在第二次迭代中,第三个元素(当前为第二个元素)将被选中,循环将中断。噢!这就清楚地表明了这一点。谢谢您正在从正在迭代的列表中删除,这会导致奇怪的结果是的,作为@aws_学徒,当您删除第一个元素(my_list[0]),第二个元素将成为第一个元素,在第二次迭代中,第三个元素(当前为第二个元素)将被选中,循环将中断。噢!这就清楚地表明了这一点。谢谢它工作得很好!我还没有学习列表理解,我现在就开始学习。谢谢你工作得很好!我还没有学习列表理解,我现在就开始学习。谢谢