我们为什么要这样使用?

Why do we use like this?

我正在读取此 CSV 文件并将其值添加到 class 的列表中。能否请您解释一下如何使用这样的剥离和拆分功能?

ba = []
for line in cvsfile:
    j = line.split(',')
    num, f, s, b = [i.strip() for i in j]
    name = A(num, f, s, b)
    ba.append(name)

这部分我很困惑。

j = line.split(',')
num, f, s, b = [i.strip() for i in j]

顺便说一句,我的 class 名字是 A.

请说明。提前致谢。抱歉,因为英语不是我的第一语言。

CSV 文件的值以逗号分隔,程序正在逐行读取文件。考虑以下示例

line = 'Val1,Val2,Val3' # consider this is a line in the CSV file

现在,使用 j = line.split(',') 将在逗号处拆分行,并 return 返回拆分值列表。

当您在 , 拆分 line 时,您会得到一个等于 ['Val1', 'Val2', 'Val3'] 的列表,现在将分配给 j

.strip() 方法将从字符串中删除任何尾随或开始的空格。例如,

s = '     hello      '
t = s.strip()
# now t is just equal to the string 'hello' without any spaces

[i.strip() for i in j] 正在创建 j 中所有值的列表,但所有空格都已从值中删除。

num, s, f, b = [i.strip() for i in j] 只是将列表中的值分配给 num、s、f 和 b。

示例,

a, b, c, d = [1, 2, 3, 4]

# the above line assigns a to 1, b to 2, c to 3 and d to 4

我的朋友 Matthias 提到它叫做列表理解。