我刚刚看到其他人的一些代码。
labels = ["{0}-{1}".format(i, i + 9) for i in range(0, 100, 10)]
print(labels)
输出为
['0-9', '10-19', '20-29', '30-39', '40-49', '50-59', '60-69', '70-79', '80-89', '90-99']
如何理解?是否在for循环的最前面返回值?
答案 0 :(得分:3)
此行,
labels = ["{0}-{1}".format(i, i + 9) for i in range(0, 100, 10)]
等效于以下代码:
labels = []
for i in range(0, 100, 10):
labels.append("{0}-{1}".format(i, i + 9))
让我们对其进行测试:
labels = ["{0}-{1}".format(i, i + 9) for i in range(0, 100, 10)]
another_list = []
for i in range(0, 100, 10):
another_list.append("{0}-{1}".format(i, i + 9))
print(labels == another_list)
# True
此外,您还有range(0, 100, 10)
:range
是“ an immutable sequence of numbers.”
您可以看到以下数字:
In [1]: list(range(0, 100, 10))
Out[1]: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
答案 1 :(得分:0)
首先,您需要了解for循环。
for i in range(0, 100, 10)
以i=0
开头,以10的间隔转到i=100
。因此,i = [0, 10, 20, 30, 40 , 50, ..., 100]
。
然后.format(i, i+9)
将i
和i+9
的值放在-
中,并用labels
分隔。