我有一个清单列表:
function copy() {
var e = document.getElementById("DeliveryPlaces")
var selection = parseInt(e.options[e.selectedIndex].value);
var input = document.getElementById("Commodity").value;
var field;
for (var i = 1; i < 6; i++) {
field = "Commodity" + i;
if (i <= selection) {
document.getElementById(field).value = input;
} else {
document.getElementById(field).value = "";
}
}
}
对于列表中小于零(0)的数字,我想跳过这些数字并形成另一个列表。
实施例: -
List = [-2,9,4,-6,7,0,1,-4]
这是我的一种怀疑,不确定如果我们能够实现。如果可以实现,有人可以在这里发帖。
答案 0 :(得分:22)
你有很多选择来实现这一目标。使用list comprehension即可:
my_list = [i for i in my_list if i>=0]
使用filter()
:
my_list = filter(lambda i: i>=0, my_list)
注意:强>
在Python 3中,filter()
返回一个filter
对象(不是list
),要将其转换为列表,您可以这样做:
my_list = list(filter(lambda i: i>=0, my_list))
答案 1 :(得分:6)
首先使用小写字母表示变量名称,其次不使用list
,因为它保留了名称。
然后在列表理解中做一个if
my_list = [i for i in init_list if i >= 0 ]