如何在python中总结两个布尔列表?

时间:2015-07-19 10:21:43

标签: python list

例如我有两个列表:

a=[True,False,True,False]
b=[False,True,False,True]

我想要归还:

c=[a[0] and b[0],a[1] and b[1],a[2] and b[2],a[3] and b[3]]

所以我会

c=[False,False,False,False]

我知道我可以用' For'循环,但这是最简单的方法吗? 我试过了     a和b 但它给了我错误的答案。

1 个答案:

答案 0 :(得分:1)

List-Comprehensionzip()

public float speed = 4.0f;
 void Update()
    {
        float moveDirection = Input.GetAxis("Horizontal");

        if (Input.GetKeyDown("d"))
        {
            Debug.Log("pressed d");
            rb.AddForce(new Vector2(Time.deltaTime * speed * moveDirection, 0), ForceMode2D.Force);
        }

zip()函数需要两个(或更多)列表(或迭代器)并从每个列表中取出第一个并将它们放在一起,然后转到第二个并将它们放在一起等等(如拉链)

对于长度不同的列表,您需要izip_longest()itertools包。哪个会保持压缩并使用关键字>>> a=[True,False,True,False] >>> b=[False,True,False,True] >>> [i and j for i, j in zip(a,b)] [False, False, False, False] 设置默认值(默认为fillvalue)。