python - 了解 Python 3.7 中的 For 循环执行

标签 python python-3.x

我在 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/

相关文章:

python - Flask-ReSTLess Marshmallow 序列化器

python - 在 python 中运行特定的批处理命令

python - win7上安装python pymysql

python导入语句

python - 为什么训练我的朴素贝叶斯分类器需要这么多内存?

python - 使用 mock.patch 和 mock_open 模拟包含 JSON 数据的文件

python - 如何设置按钮的大小(以像素为单位)- python

python - 使用 pymongo 在引用/链接的 MongoDB 文档中查找

python-3.x - 按行特定列表选择 Pandas 数据框列

Python无法安装包