如何将下面的 for 循环代码更改为更快的方式,例如没有循环?
How to change the below for loop code to a faster way,for example without a loop?
我使用 for 循环从 A0 到 A49 创建并保存到列表中。代码如下
A = []
B = []
C = []
for i in range(50):
a = 'A\_%d' % i
b = 'B\_%d'%i
c = 'C\_%d'%i
A.append(a)
B.append(b)
C.append(c)
如果没有 for 循环,我该怎么做?
我想改进上面的代码
因为我不擅长编程。我想通过研究不同的方法来提高我的技能。
如果我没记错的话你想要这样的输出:
['A0', 'A1', 'A2', ... , 'A49', 'A50']
所有这一切都没有单独的 for
循环。在 List Comprehension 的帮助下这样做相当容易,这对初学者来说是 lesser-known 的方法,但非常有用。
例如,您想将值存储在范围从 0
到 9
的列表中。
您可以通过两种方式执行此操作:
- 第一种方法是使用单独的
for
循环。
lst = list()
for i in range(10):
lst.append(i)
这会将 0
到 9
的值添加到列表 lst
。
- 第二种方式相对简单,使用次数较少time-consuming,使用列表理解。
lst = list(i for i in range(10))
这将包含 i
迭代到列表 lst
的所有值,从而节省代码行,如果我没记错的话,这也是您所要求的。此方法可以整理并改进您的代码。
所以格式化后的代码看起来像这样(您可以根据需要修改):
A = list(f"A{i}" for i in range(50))
希望我的回答对您有所帮助。 :)
如果您需要,可以参考这篇文章以获得更多说明:Python - List Comprehension
编辑1:删除指出错误的部分。您已经编辑了问题的错误部分,您的代码没有错误。
编辑 2:删除了不必要的反斜杠
我使用 for 循环从 A0 到 A49 创建并保存到列表中。代码如下
A = []
B = []
C = []
for i in range(50):
a = 'A\_%d' % i
b = 'B\_%d'%i
c = 'C\_%d'%i
A.append(a)
B.append(b)
C.append(c)
如果没有 for 循环,我该怎么做?
我想改进上面的代码
因为我不擅长编程。我想通过研究不同的方法来提高我的技能。
如果我没记错的话你想要这样的输出:
['A0', 'A1', 'A2', ... , 'A49', 'A50']
所有这一切都没有单独的 for
循环。在 List Comprehension 的帮助下这样做相当容易,这对初学者来说是 lesser-known 的方法,但非常有用。
例如,您想将值存储在范围从 0
到 9
的列表中。
您可以通过两种方式执行此操作:
- 第一种方法是使用单独的
for
循环。
lst = list()
for i in range(10):
lst.append(i)
这会将 0
到 9
的值添加到列表 lst
。
- 第二种方式相对简单,使用次数较少time-consuming,使用列表理解。
lst = list(i for i in range(10))
这将包含 i
迭代到列表 lst
的所有值,从而节省代码行,如果我没记错的话,这也是您所要求的。此方法可以整理并改进您的代码。
所以格式化后的代码看起来像这样(您可以根据需要修改):
A = list(f"A{i}" for i in range(50))
希望我的回答对您有所帮助。 :)
如果您需要,可以参考这篇文章以获得更多说明:Python - List Comprehension
编辑1:删除指出错误的部分。您已经编辑了问题的错误部分,您的代码没有错误。
编辑 2:删除了不必要的反斜杠