Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 多个if和if不在列表中_List_Python 3.x_If Statement - Fatal编程技术网

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]