我有一个带有单词和数字的列表,因此列表中的每个项目都如下所示:
mylist = ['dog 2', 'cat 14']
我需要按旁边具有最大数字的项目排列列表,然后将列表粘贴到 Excel 或 CSV 并保存。
任何想法,将不胜感激!
排序部分,你可以这样做:
>>> my_list=['dog 2','cat 14']
>>> my_list.sort(key=lambda x: int(x.split()[1]), reverse=True)
>>>
>>> my_list
['cat 14', 'dog 2']
如果您可以在数值之前有多个非数字单词,那么您可以给出 index-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']
您可以在 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