我在Jupyter笔记本中执行了三个不同的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)
第二个循环
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)
第三个循环
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]]}
第二个用于循环输出
{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]}
第3个循环输出
{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控制器中进行简单的编码.从字面上看,我无法理解循环如何在Python中运行.特别是,First for循环和第二和第三个发生了什么.
Q2:我希望输出类似{0:[0,0], 1:[4,5],2:[8,10],3:[12,15]}
.你能帮我解决一下可以把这个输出拿给我的正确代码.
1> Massoud Hoss..:
试试这个:
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列表.第二个和第三个循环是相同的; 你只需要temp_1
在每次迭代中清除你的列表x
.