gpt4 book ai didi

python - 这个嵌套循环的 Python 列表理解是什么?

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

我有这样的案例:

#!/usr/bin/python2.7
y = [[0 for i in xrange(size_of_array)] for j in xrange(size_of_array)]

offset_flag = 0

for i in xrange(size_of_array):
for j in xrange(size_of_array):
y[i][j] = starting_no + j + offset_flag
offset_flag += j + 1

我想要嵌套 for 循环的列表理解,但它也应该处理如下情况:

offset_flag += j + 1

我怎样才能实现这种列表理解?

最佳答案

只需使用乘法来计算偏移量:

y = [[starting_no + j + (i * size_of_array) for j in xrange(size_of_array)]
for i in xrange(size_of_array)]

可以使用较短的变量名称来编写得更简洁:

start, size = starting_no, size_of_array
y = [[start + j + (i * size) for j in xrange(size)] for i in xrange(size)]

您的offset值无非是i * size_of_array这里;您添加的外循环的每次迭代 j + 1 ,但是j 总是将被设置为 size_of_array - 1 。替代j对于 size_of_array - 1你得到 offset += size_of_array 。第一次迭代是 0 ,然后1 * size_of_array ,一直到(size_of_array - 1) * size_of_array ,继 i变量。

关于python - 这个嵌套循环的 Python 列表理解是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41401155/

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