尝试从数组中的二维列表中删除最小值和最大值。
我的代码:
myList = [[1, 3, 4], [2, 4, 4], [3, 4, 5]]
maxV = 0
minV = myList[0]0]
for list in myList:
for innerlist in list:
if innerlist > maxV:
maxV = innerlist
if innerlist < minV:
minV = innerlist
innerlist.remove(maxV)
innerlist.remove(minV)
print(myList)
这给我造成了一些错误,我不太明白我很确定innerlist不是数组而是普通变量但我仍然认为应该可以从二维列表中删除min和max元素。
我的意思是我需要删除列表中每个内部列表中的最高值和最低值。
如果有人帮忙!
当做。
最佳答案
为了展示使用list comprehensions
的更简单的方法,sorted
方法和slicing
:
d = [[1, 3, 4], [2, 4, 4], [3, 4, 5]]
n = [sorted(l)[1:-1] for l in d]
print(n)
# [[3], [4], [4]]
关于解决此问题的每一项的一些阅读材料:
listcomprehension
sorted
slicing
为了处理副本,padraic的回答做得很好。