我在 Jupyter Notebook 中执行了三种不同的 for 循环操作。代码如下
先for循环
b = {}
temp_1 = []
for x in range(0,4):
y = [4,5]
temp_1.append(x*y)
b[x] = temp_1
print("\n First for loop output \n",b)
第二个for循环
b = {}
temp_1 = []
for x in range(0,4):
for y in range(4,6):
temp_1.append(x*y)
b[x] = temp_1
print("\n 2nd for loop output \n",b)
第三个for循环
b = {}
temp_1 = []
for x in [0,1,2,3]:
for y in [4,5]:
temp_1.append(x*y)
b[x] = temp_1
print("\n 3rd for loop output \n",b)
First for循环输出的输出
{0: [[], [4, 5], [4, 5, 4, 5], [4, 5, 4, 5, 4, 5]], 1: [[], [4, 5], [4, 5, 4, 5], [4, 5, 4, 5, 4, 5]], 2: [[], [4, 5], [4, 5, 4, 5], [4, 5, 4, 5, 4, 5]], 3: [[], [4, 5], [4, 5, 4, 5], [4, 5, 4, 5, 4, 5]]}
第二个for循环输出
{0: [0, 0, 4, 5, 8, 10, 12, 15], 1: [0, 0, 4, 5, 8, 10, 12, 15], 2: [0, 0, 4, 5, 8, 10, 12, 15], 3: [0, 0, 4, 5, 8, 10, 12, 15]}
第三个for循环输出
{0: [0, 0, 4, 5, 8, 10, 12, 15], 1: [0, 0, 4, 5, 8, 10, 12, 15], 2: [0, 0, 4, 5, 8, 10, 12, 15], 3: [0, 0, 4, 5, 8, 10, 12, 15]}
Q1:我是 Python 初学者。我一直在使用 MATLAB C 和 Arduino UNO Controller 进行简单编码。从字面上看,我无法理解 for 循环在 Python 中的工作原理。特别是 First for 循环以及第二和第三循环中发生的事情。
Q2:我想要输出类似于 {0:[0,0], 1:[4,5],2:[8,10],3:[12,15]}
。您能否帮我提供可以获取此输出的正确代码。
最佳答案
试试这个:
b = {}
for x in [0,1,2,3]:
temp_1 = []
for y in [4,5]:
temp_1.append(x*y)
b[x] = temp_1
print("\n 3rd for loop output \n",b)
在你的第一个循环中,你乘以一个列表 [4,5]
这不是你想要的,因为它不是按元素计算的。阅读http://thepythonguru.com/python-lists/查看运算符如何处理 Python 列表。
第二个和第三个循环是一样的;您只需要在 x
的每次迭代中清除您的 temp_1
列表。
关于python - 了解 Python 3.7 中的 For 循环执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51393576/