我是一个非常基本的编码器试图找出如何排序这个字符串到一个列表中,根据他们配对的数字。到目前为止,我已经能够分割字符串'apples',但我似乎不能让排序函数返回数字,而不是第二个字符。我该如何分离这些数字以便对它们进行排序?我使用lambda函数调用'apple\u sort'函数是很重要的。你知道吗
apples = "McIntosh:3,Red Delicious:5,Fuji:8,Gala:6,Ambrosia:7,Honeycrisp:7.5,Granny Smith:1"
def apple_sort(apple):
return apple[1]
def sort_csv(x):
x = (x.split(","))
return sorted(x, key=apple_sort)
print(sort_csv(apples))
我的答案应该打印出来
['Fuji:8', 'Honeycrisp:7.5', 'Ambrosia:7', 'Gala:6', 'Red Delicious:5', 'McIntosh:3', 'Granny Smith:1']
您可以将^{} 与以下
key
一起使用(请注意,必须将数字字符串转换为float):第一个必要的步骤是
split
将上面的字符串放入一个列表,该列表将被馈送到sorted
:然后上面的键
lambda x: -float(x.split(':')[1])
将通过':'
分割内部字符串,然后对结果列表中的第二个元素进行索引并强制转换为float。如果取负数,顺序将是降序的。你知道吗相关问题 更多 >
编程相关推荐