Python:除第一个lin之外的排序列表

2024-06-26 03:09:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个清单:

[['Nom', 'Francais', 'Anglais', 'Maths'], ['Catherine', '9', '17', '9'], ['Karim', '12', '15', '11'], ['Rachel', '15', '15', '14'], ['Roger', '12', '14', '12'], ['Gabriel', '7', '13', '8'], ['Francois', '14', '8', '15'], ['Henri', '10', '12', '13'], ['Stephane', '18', '12', '8'], ['Karine', '9', '10', '10'], ['Marie', '10', '10', '10'], ['Claire', '15', '9', '12'], ['Marine', '12', '9', '12']]

{我不想让列表中的每个单词都按字母顺序排列(或者不想按列表中的第一个单词排序)?在

非常感谢!在


Tags: 列表单词nomstephanerogermathsgabrielrachel
2条回答

就我个人而言,我会这样做。但它假设你和熊猫相处得很自在。这使您能够更灵活地处理数据。在

import pandas as pd

nl = [['Nom', 'Francais', 'Anglais', 'Maths'], ['Catherine', '9', '17', '9'], ['Karim', '12', '15', '11'], ['Rachel', '15', '15', '14'], ['Roger', '12', '14', '12'], ['Gabriel', '7', '13', '8'], ['Francois', '14', '8', '15'], ['Henri', '10', '12', '13'], ['Stephane', '18', '12', '8'], ['Karine', '9', '10', '10'], ['Marie', '10', '10', '10'], ['Claire', '15', '9', '12'], ['Marine', '12', '9', '12']]

df = pd.DataFrame(columns = nl[0])

for l, c in zip(nl[0], range(4)):
    df[l] = [ r[c] for r in nl[1:] ]

df.sort_values(by = 'Nom', inplace = True)
df.reset_index(drop = True, inplace = True)

结果是:

^{pr2}$

如果你最近的评论需要一个.csv,它很简单:

df.to_csv('/directory/my_filename.csv', index = False)

您可以使用范围分配:

>>> from pprint import pprint # just to have a nice display
>>> data = [['Nom', 'Francais', 'Anglais', 'Maths'], ['Catherine', '9', '17', '9'], ['Karim', '12', '15', '11'], ['Rachel', '15', '15', '14'], ['Roger', '12', '14', '12'], ['Gabriel', '7', '13', '8'], ['Francois', '14', '8', '15'], ['Henri', '10', '12', '13'], ['Stephane', '18', '12', '8'], ['Karine', '9', '10', '10'], ['Marie', '10', '10', '10'], ['Claire', '15', '9', '12'], ['Marine', '12', '9', '12']]
>>> pprint(data)
[['Nom', 'Francais', 'Anglais', 'Maths'],
 ['Catherine', '9', '17', '9'],
 ['Karim', '12', '15', '11'],
 ['Rachel', '15', '15', '14'],
 ['Roger', '12', '14', '12'],
 ['Gabriel', '7', '13', '8'],
 ['Francois', '14', '8', '15'],
 ['Henri', '10', '12', '13'],
 ['Stephane', '18', '12', '8'],
 ['Karine', '9', '10', '10'],
 ['Marie', '10', '10', '10'],
 ['Claire', '15', '9', '12'],
 ['Marine', '12', '9', '12']]
>>> data[1:] = sorted(data[1:])
>>> pprint(data)
[['Nom', 'Francais', 'Anglais', 'Maths'],
 ['Catherine', '9', '17', '9'],
 ['Claire', '15', '9', '12'],
 ['Francois', '14', '8', '15'],
 ['Gabriel', '7', '13', '8'],
 ['Henri', '10', '12', '13'],
 ['Karim', '12', '15', '11'],
 ['Karine', '9', '10', '10'],
 ['Marie', '10', '10', '10'],
 ['Marine', '12', '9', '12'],
 ['Rachel', '15', '15', '14'],
 ['Roger', '12', '14', '12'],
 ['Stephane', '18', '12', '8']]

相关问题 更多 >