python – 使用用户定义的规则对项目进行排序
发布时间:2020-12-20 11:16:03 所属栏目:Python 来源:网络整理
导读:例如,如果我有一个用户名列表,让我们调用此列表L1,每个用户名都有他/她自己的配置文件(不存储在L1中).我们应该如何编写函数,以便它根据实际名称对用户名进行排序,如果有任何用户名与实际名称相关联,则按用户名对它们进行排序.注意,我可以通过编写用户名[1]来
例如,如果我有一个用户名列表,让我们调用此列表L1,每个用户名都有他/她自己的配置文件(不存储在L1中).我们应该如何编写函数,以便它根据实际名称对用户名进行排序,如果有任何用户名与实际名称相关联,则按用户名对它们进行排序.注意,我可以通过编写用户名[1]来获取用户的用户名,用户名是唯一的.
这就是我写的: def username(s1,s2): if s1 < s2: return -1 elif s1 > s2: return 1 else: # How can i sort them by username if they have the same actual name return 0 解决方法
您始终可以将用户名存储在列表中,然后使用builtin sorted()函数生成用户名的排序列表.例:
users = ['Guido','Alex','Jack','Brian'] users_sorted = sorted(users) print repr(users_sorted) 结果将是按字母顺序排序的用户列表: ['Alex','Brian','Guido','Jack'] sorted需要多个参数,所以如果你想定义一种比较列表中项目的特殊方法,你可以做sort(user,cmp = function),其中function是你的特殊比较函数. 有关更多信息,请参阅docs on sorted(). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |