赞
踩
我觉得这已经被问到了,但是这些问题的答案对我的代码没有效果。
我试图根据第一个列表[2]按字母顺序对列表进行排序,然后在按列表[3]和列表[4]排序的匹配条目内对列表进行排序,依此类推。真实的数据更大,每个列表中的条目更多,但只是一个例子:
list = [
['X_campestris_vesicatoria', 'Bacteria', 'Proteobacteria',
'Gammaproteobacteria', 'Xanthomonadales', 'Xanthomonadaceae', 'Xanthomonas'],
['Pantoea', 'Bacteria', 'Proteobacteria', 'Gammaproteobacteria',
'Enterobacteriales', 'Enterobacteriaceae', 'Pantoea'],
['Acidobacterium', 'Bacteria', 'Acidobacteria', 'Acidobacteriales',
'Acidobacteriaceae', 'Granulicella'],
['S_boydii', 'Bacteria', 'Proteobacteria', 'Gammaproteobacteria',
'Enterobacteriales', 'Enterobacteriaceae', 'Shigella']]我已经尝试了一些类似问题的答案:
taxlist.sort(key = lambda row: (row[2],row[3],row[4],row[5]))
print taxlist但没有排序正在发生。
与我尝试时相同:
sorted(taxlist, key=lambda x: (x[2],x[3],x[4],x[5]))
print taxlist一旦列表排序,我仍然可以使用这个或不再可迭代的列表?
import csv
writer = csv.writer(sys.stdout, delimiter="\t")
writer.writerows(taxlist)谢谢你的帮助。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。