python中的零填充数组
我试图找出如何用零填充数组,但遇到了这个让我困惑的解决方案python中的零填充数组,python,arrays,python-3.x,loops,for-loop,Python,Arrays,Python 3.x,Loops,For Loop,我试图找出如何用零填充数组,但遇到了这个让我困惑的解决方案 col = 3 row = 3 A = [[0 for column in range(col)] for row in range(row)] 为什么可以在for循环旁边放置一个数字,而python知道在其中重复该值?如果我这样做: 0 for column in range(col) 在列表之外,这是一个错误。为什么会这样 另外,在这里添加for循环是如何工作的?我认为for循环格式是这样的: for value in Som
col = 3
row = 3
A = [[0 for column in range(col)] for row in range(row)]
为什么可以在for循环旁边放置一个数字,而python知道在其中重复该值?如果我这样做:
0 for column in range(col)
在列表之外,这是一个错误。为什么会这样
另外,在这里添加for循环是如何工作的?我认为for循环格式是这样的:
for value in Something:
#Repeating code
为什么解决方案不遵循循环格式?如果我在列表之外没有使用此格式执行for循环,则会显示为错误。对于范围内的列(col),出现
0错误的原因是,此功能被称为列表理解,并且缺少[]
“列表性”:-)
您需要的是:
[0 for column in range(col)]
基本思想是,[value for]
将为您提供一个值
项的列表,只要迭代函数有迭代
for
之所以在这里起作用,是因为它可以以多种方式使用,就像您可以在for
中使用break
或while
循环,或在列表理解中使用if
:
>[x代表范围内的x(20)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>>[x表示范围(20)内的x,如果x%3==2]
[2, 5, 8, 11, 14, 17]
>>>[x如果x%2==0,则为-x*100,表示范围(10)内的x]
[0, -100, 2, -300, 4, -500, 6, -700, 8, -900]
对于范围内的列(col)
,出现0错误的原因是该功能被称为列表理解,它缺少[]
“列表性”:-)
您需要的是:
[0 for column in range(col)]
基本思想是,[value for]
将为您提供一个值
项的列表,只要迭代函数有迭代
for
之所以在这里起作用,是因为它可以以多种方式使用,就像您可以在for
中使用break
或while
循环,或在列表理解中使用if
:
>[x代表范围内的x(20)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>>[x表示范围(20)内的x,如果x%3==2]
[2, 5, 8, 11, 14, 17]
>>>[x如果x%2==0,则为-x*100,表示范围(10)内的x]
[0, -100, 2, -300, 4, -500, 6, -700, 8, -900]
阅读官方文件可以很好地解释这一点。略读一下可能也是一件好事。阅读官方文件可以很好地解释这一点。浏览一下可能也是一件好事。哦,我明白了,所以这只是处理列表的一个独特特性。这对循环以外的东西有效吗?@CKA,你需要有有限迭代次数的东西,老实说,我从来没有想过太多。考虑到它应该与某种iterable一起使用,我怀疑for
是唯一的方法,尽管我不认为Python中某些黑暗角落的可能性,我还不知道:-)我添加了一些代码,显示您可以使用额外的东西,比如if
过滤器。哇,这真的很有趣,非常感谢。也只是好奇,如果你能用if语句,你也能用ELSE语句吗?我在PyCharm中试过,但看起来不太合适possible@CKA:您确实可以使用else
,这只是重新排序的问题(将放在最后)。看看我的最新更新。哇,真让我大吃一惊。再次感谢!哦,我明白了,这只是处理列表的一个独特特征。这对循环以外的东西有效吗?@CKA,你需要有有限迭代次数的东西,老实说,我从来没有想过太多。考虑到它应该与某种iterable一起使用,我怀疑for
是唯一的方法,尽管我不认为Python中某些黑暗角落的可能性,我还不知道:-)我添加了一些代码,显示您可以使用额外的东西,比如if
过滤器。哇,这真的很有趣,非常感谢。也只是好奇,如果你能用if语句,你也能用ELSE语句吗?我在PyCharm中试过,但看起来不太合适possible@CKA:您确实可以使用else
,这只是重新排序的问题(将放在最后)。看看我的最新更新。哇,真让我大吃一惊。再次感谢!