List 多个if和if不在列表中
我试着看类似的问题,但我真的不明白如何使用其他问题中提到的方法来实现这一点。 所以我的问题是:我有一个列表,我想从中删除某些值。例如:List 多个if和if不在列表中,list,python-3.x,if-statement,List,Python 3.x,If Statement,我试着看类似的问题,但我真的不明白如何使用其他问题中提到的方法来实现这一点。 所以我的问题是:我有一个列表,我想从中删除某些值。例如: a = [[[0,0],[0,1]],[[0,0],[0,1]]] for y in range(2): a[y][:] = [x for x in a[y] if not random.random() < s] a=[[0,0],[0,1],[[0,0],[0,1]] 对于范围(2)内的y: a[y][:]=[x代表a[y]中的x,如果不是随
a = [[[0,0],[0,1]],[[0,0],[0,1]]]
for y in range(2):
a[y][:] = [x for x in a[y] if not random.random() < s]
a=[[0,0],[0,1],[[0,0],[0,1]]
对于范围(2)内的y:
a[y][:]=[x代表a[y]中的x,如果不是随机的。random()
这将删除random.random()低于s(介于0和1之间的s)的元素。但是,我只希望列表中每个元素的第二个位置(即[0,0]位)等于1时发生这种情况。我尝试了多种解决方案(这里有其他问题的建议),但我无法让它发挥作用。有人有什么建议吗?可以添加另一个条件来检查
x的第二个“位”的值(x[1]==0
):
这意味着如果x[1]==0
,则保留该对,而不考虑随机值。否则,仅当random.random()>=0.5
时才保留该值
a = [[[0,0],[0,1]],[[0,0],[0,1]]]
for y in range(2):
a[y][:] = [x for x in a[y] if x[1] == 0 or random.random() >= 0.5]