python - 如何在 Python 中创建多个(但单独的)空列表?

标签 python list

我编写了一个脚本,该脚本在某一时刻生成一堆空列表,应用具有以下结构的代码:

A,B,C,D=[],[],[],[]

产生输出:

A=[]
B=[]
C=[]
D=[]

现在的情况是,每次使用不同的数据集作为输入时,我都必须手动修改字母。我希望能够将其自动化。 我考虑过这样做:

FieldList=[A,B,C,D]
bracket=[]
[[0]for field in FieldList]
for field in FieldList:
    bracket=bracket+["[]"]
FieldList=bracket                  

在这里我试图复制“A,B,C,D=[],[],[],[]”,但显然不是这样。

我也试过:

FieldList=[A,B,C,D]
bracket=[]
[[0]for field in FieldList]
for field in FieldList:
    field=[]

但最后它只生成一个列表调用“字段”。

#

所以,这就是我需要列表的目的。我将从 csv 中读取信息并将我从每一行中提取的数据添加到列表中。如果生成“列表列表”,我是否仍可以单独调用它们中的每一个以向它们附加内容?

A,B,C,D=[],[],[],[]
with open(csvPath+TheFile, 'rb') as csvfile:    #Open the csv table
    r = csv.reader(csvfile, delimiter=';')      #Create an iterator with all the rows of the csv file, indicating the delimiter between columns
    for i,row in enumerate(r):                  #For each row in the csv
        if i > 0:                               #Skip header 
            A.append(float(row[0]))             #Extract the information and append it to each corresponding list
            B.append(float(row[1]))
            C.append(format(row[2]))
            D.append(format(row[3]))

最佳答案

你把事情搞得太复杂了。只需使用列表或字典:

fields = {key: [] for key in 'ABCD'}

然后根据需要引用fields['A']等,或者遍历结构依次处理每个。

关于python - 如何在 Python 中创建多个(但单独的)空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15953800/

相关文章:

java - 如何修复用其他可能值替换列表原始值的代码?

Java - 修改列表会修改包含列表的对象

python - 如何从 python 中的列表列表创建字典列表?

python - 是否可以使用 setdefault 嵌套字典,附加到列表中?

python - 值错误 ("color kwarg must have one color per dataset")?

python - 类的实例使用哪些资源?

python - 访问 geoseries 中几何图形中的行

python - Postgresql 触发器检查哪些列的值发生了变化?

python - 在某个地方抽水箱

c# - 为什么接口(interface)类型的列表不能接受继承接口(interface)的实例?