这是什么意思?stuff = [i.split() for i in row]
import csv
with open('AB.csv', 'r') as ABfile:
AB=csv.reader(ABfile,csv.excel)
for row in AB:
print(row)
stuff = [i.split() for i in row]
print(stuff)
在这个上下文中,这句话是什么意思呢?
这行代码的意思是:我们有一个叫做“row”的东西,它里面有一些内容。我们用一个循环来处理这些内容,把每一项用空格分开,然后把分开的结果放到一个叫“stuff”的列表里。
下面是输出结果:
['qqq', 'qqq', 'sd3 3ds', '12/12/2012']
[['qqq'], ['qqq'], ['sd3', '3ds'], ['12/12/2012']]
1 个回答
2
这是一个列表推导式。它的作用是生成一个和下面这个代码块相同的列表:
stuff = []
for i in row:
stuff.append(i.split())
这只是一种方便且符合Python风格的创建列表的方法。
split
方法可以把一个字符串按照空格分割成一个列表,下面是一些例子:
>>> 'qqq'.split()
['qqq']
>>> 'sd3 3ds'.split()
['sd3', '3ds']
对于row
中的每一个元素,都会调用split
,然后把得到的列表添加到stuff
中。这就是为什么stuff
最后会变成一个列表的列表。