代码如下:
print(max(my_score))
print(min(my_score))
print(my_score)
[x if x!=min(my_score) or x!=max(my_score) else my_score.remove(x) for x in my_score ]
请问各位这是哪里有问题呢
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
my_score = [8,7,2,6,5,9,4]
print(max(my_score))
print(min(my_score))
print(my_score)
my_score2 = [x for x in my_score if x!=min(my_score) and x!=max(my_score)]
print(my_score2)
你直接找到index remove掉不就好了。
不能这么用,你这是if...else...条件运算加上列表推导,而不是带有条件筛选的列表推导,条件运算必有返回值,所以你生成的列表数据量不变
应该这么用:[x for x in my_score if x!=min(my_score) and x!=max(my_score) ]
逻辑应该是 and 吧, x!=min(my_score) and x!=max(my_score)
此外,在循环中删除列表元素会出现错误