gpt4 book ai didi

python - 理解Python中列表数组的创建

转载 作者:行者123 更新时间:2023-12-01 03:08:57 24 4
gpt4 key购买 nike

我正在阅读有关如何在 python 中声明矩阵的内容,我发现这个问题 How to define two-dimensional array in python

这对我有用,但我部分理解这里所做的事情,我不理解的是两个循环中“for”之前的参数......所以我进入我的终端并测试其中的部分内容一点一点,所以当我输入:

0 for x in range(w):

我收到:

File "< stdin >", line 1

所以我尝试:

[0 for x in range(w)] for y in range(h):

接收:

File "< stdin >", line 1 [0 for x in range(w)] for y in range(h):

所以我尝试:

[0 for x in range(w)]

[[0 for x in range(w)] for y in range(h)] 

开始工作了...

那么为什么当我放置括号时循环可以工作,而没有括号则循环无法工作?

提前致谢。

最佳答案

这是Python中的列表理解。与此类似的,还有集合理解、字典理解。它使用 for 循环中的元素来构造列表。比如

>>> [2*i for i in range(10)]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
>>> [i for i in range(10) if i % 2 == 1]
[1, 3, 5, 7, 9]
>>> [0 for _ in range(10)]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>> [[i for i in range(j)] for j in range(5)]
[[], [0], [0, 1], [0, 1, 2], [0, 1, 2, 3]]
>>> {i : chr(65+i) for i in range(5)}
{0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E'}
<小时/>
  1. https://www.python.org/dev/peps/pep-0202/
  2. https://www.python.org/dev/peps/pep-0274/

关于python - 理解Python中列表数组的创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43083606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com