这是什么意思?stuff = [i.split() for i in row]

-1 投票
1 回答
991 浏览
提问于 2025-04-18 08:47
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最后会变成一个列表的列表。

撰写回答