例如我有两个列表:
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 但它给了我错误的答案。
答案 0 :(得分:1)
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
)。