循环将多个列表附加到Python中的单个列表
在下面的代码中,第[8]行、第[9]行、…、第[27]行都包含许多数字。我需要将第[8]行、第[9]行等中的所有数字作为单独的列表附加到stat_by_symbol中。但是,下面的代码会在单个列表中的所有行中追加所有数字 作为我需要的一个例子,如果我通过_符号['aaa'][0]调用stat_,那么我应该从第[8]行获取数字列表 我怎样才能解决这个问题?非常感谢 编辑以进一步澄清。我已经附上了csv的快照。我需要stat_by_symbol['aaa'][0]为我提供第I列下的所有数字。类似地,索引为1的stat_by_符号将给出j列下的所有数字循环将多个列表附加到Python中的单个列表,python,list,loops,Python,List,Loops,在下面的代码中,第[8]行、第[9]行、…、第[27]行都包含许多数字。我需要将第[8]行、第[9]行等中的所有数字作为单独的列表附加到stat_by_symbol中。但是,下面的代码会在单个列表中的所有行中追加所有数字 作为我需要的一个例子,如果我通过_符号['aaa'][0]调用stat_,那么我应该从第[8]行获取数字列表 我怎样才能解决这个问题?非常感谢 编辑以进一步澄清。我已经附上了csv的快照。我需要stat_by_symbol['aaa'][0]为我提供第I列下的所有数字。类似地,
stat_by_symbol = {}
with open('zzdata.csv', 'rb') as f:
reader = csv.reader(f)
reader.next()
for row in reader:
for symbol in symbols:#symbols in a list
if symbol in row:
for i in range(8, 28):
stat_by_symbol.setdefault(symbol, []).append(row[i])
您确定行是列表的列表吗?@johnjdc-为什么在使用@Vaughn Cato后一直取消块的标识?@Vaughn Cato每行都是一个列表,stat_by_symbol应该收集所有这些列表。@eumiro我间隔了四次,然后粘贴了代码。不知道为什么。不过我修正了它。@johnjdc-您说过第[8]行包含许多数字,这意味着第[8]行是一个列表,这意味着第[8]行是一个列表。我认为您以两种不同的方式考虑变量行。当我尝试运行顶行时,出现了一个错误:stat_by_symbol=dictsymbol,[[]表示xrange8中的I,28]表示我固定了括号中的符号中的符号,但Python也在顶行中突出显示了for。
stat_by_symbol = dict((symbol, [[] for i in xrange(8,28)]) for symbol in symbols)
with open('zzdata.csv', 'rb') as f:
reader = csv.reader(f)
reader.next()
for row in reader:
for symbol, symbol_list in stat_by_symbol.iteritems():
if symbol in row:
for symbol_list2, cell in zip(symbol_list, row[8:28]):
symbol_list2.append(cell)