加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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().

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读