1

単語とその横に数字を含むリストがあるので、リスト内のすべての項目は次のようになります。

mylist = ['dog 2', 'cat 14']

横に最大の数字がある項目でリストを並べ替え、リストを Excel または CSV に貼り付けて保存する必要があります。

どんなアイデアでも大歓迎です!

4

2 に答える 2

1

ソート部分、次のようにすることができます:

>>> my_list=['dog 2','cat 14']
>>> my_list.sort(key=lambda x: int(x.split()[1]), reverse=True)
>>> 
>>> my_list
['cat 14', 'dog 2']

数値の前に複数の数値以外の単語を含めることができる場合は、-1代わりにインデックスを指定でき1ます。

>>> my_list=['dog 2','cat 14', 'cat eat mouse 15']
>>> sorted(my_list, key=lambda x: int(x.split()[-1]), reverse=True)
['cat eat mouse 15', 'cat 14', 'dog 2']
于 2013-07-16T21:10:07.693 に答える
0

sorted 関数で key パラメータを使用して、「 」(スペース) の後の数字で並べ替えることができます。

list=['dog 2','cat 14']

次の形式の新しいリストを作成します: list2 = [[dog, 2], [cat,14]]

list2 = []
for i in list:
    i = i.split(' ')
    i[1] = int(i[1])
    list2.append(i)

並べ替えリスト 2

list = sorted(list2, key=lambda element: element[1], reverse = True)

',' で区切られた csv ファイルに書き込みます。'\n' で終わる

file = open('filename.csv', 'w')
for element in list:
    file.write("%s,%d\n" % (element[0], element[1]))
file.close

これにより、次のような filename.csv という名前のファイルが生成されます。

cat,14
dog,2
于 2013-07-16T21:36:12.373 に答える