Python - FOR循环如何在python中工作

时间:2018-03-24 03:40:22

标签: python

我在Python中有以下代码,我不确定这里的for循环是如何工作的。

cur.execute("SELECT CUST_ID, COMPANY, LASTNAME, CITY, STATE FROM 
mytable")                            

colnames = [desc[0] for desc in cur.description]      

这是如何工作的?

[desc[0] for desc in cur.description]   

什么是desc[0]?

3 个答案:

答案 0 :(得分:5)

根据您提供给我们的代码,似乎desc本身就是一个数组,因此colnames是从desc[0]得到的所有desc的数组} cur.description

desc[0]是desc中的第一个项目,因为Python中的数组是零索引的。

答案 1 :(得分:1)

它使用可迭代对象,尤其是 next 方法,它会消耗对象内部的值,直到停止迭代,它就像生成器对象一样......

答案 2 :(得分:1)

如果对某些事情有疑问,请尝试重新创建。虽然,它可以是任何可迭代的,我们可以假设它只是一个列表,然后:

description = [['first'], ['second', 'third'], [x, y, z], [...], ...]
colnames = [desc[0] for desc in description]
输出中的

['first', 'second', x, ... ]