Python - 初始化多个列表/行

2022-01-18 00:00:00 python list initialization

问题描述

这太丑了:

psData = []
nsData = []
msData = []
ckData = []
mAData = []
RData = []
pData = []

有没有办法在一行中声明这些变量?

Is there a way to declare these variables on a single line?


解决方案

alist, blist, clist, dlist, elist = ([] for i in range(5))

上述方法的缺点是,您需要计算 = 左侧的名称数量并且具有完全相同数量的空列表(例如通过 range 调用,或更明确地)在右手边边.

The downside of above approach is, you need to count the number of names on the left of = and have exactly the same number of empty lists (e.g. via the range call, or more explicitly) on the right hand side.

最主要的是,不要使用类似

alist, blist, clist, dlist, elist = [[]] * 5

也没有

alist = blist = clist = dlist = elist = []

这将使所有名称都引用相同空列表!

which would make all names refer to the same empty list!

相关文章