python - Python:通过另一个函数中的参数对列表进行排序
问题描述
我正在尝试fruit()
使用该功能进行排序key=sortby()
,然后打印到屏幕上 - 无论是在它自己的功能内fruit()
还是在它自己的功能内。
当没有fruit()
函数时它工作得很好,但是我很难找出正确的语法来par
作为要使用的参数传递fruit()
fruit = [["Apples", 30], ["Bananas", 100], ["Pears", 0], ["Peaches", 20]]
def sortby(par):
return par[1]
def fruit():
rate = []
fruit.sort(key=sortby, reverse=True)
for success in fruit:
rate.append(success[0])
rate.append(success[1])
str = str(rate)
print(str)
解决方案
您的代码有几个问题:
- 您需要从
fruit
函数中返回一个值 - 您需要为该
fruit
函数指定与列表不同的名称 - 您需要
fruit
在某个时候实际调用该函数 - 避免
str
用作变量名,因为这是 Python 中的内置函数。
但是,该sortby
功能工作正常。
fruit = [["Apples", 30], ["Bananas", 100], ["Pears", 0], ["Peaches", 20]]
def sortby(par):
return par[1]
def sort_fruit():
rate = []
fruit.sort(key=sortby, reverse=True)
for success in fruit:
rate.append(success[0])
rate.append(success[1])
return rate
print(sort_fruit())
推荐阅读
- python - Pandas:从多个 groupbys 获取以前日期时间的平均值
- bash - JAVA_HOME:在 Jenkins 中运行脚本时未绑定的变量
- kotlin - 许多可为空的对象,如何在路径末尾设置属性
- c# - 如何以角度排列自定义表格元素?
- google-apps-script - 当 Google Forms 在 Google Sheet 中添加一行时触发事件
- html - 如何修复 Markdown 文本中的 Html 表格
- shell - 用于检查文件中是否存在特定字符串的 awk 命令,如果存在则返回该字符串存在的列名
- android - View.setVisibility() 在 Android 源代码级别与 NPE 崩溃
- bash - 在 bash 脚本中从 CSV 文件读取数据时出现问题
- snowflake-cloud-data-platform - 如何在 Snowflake DB 中找到挂起的任务?