鱼C论坛

 找回密码
 立即注册
查看: 942|回复: 6

[已解决]怎样在一个列表里排序

[复制链接]
发表于 2020-2-26 13:34:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
list = ['4.阿迪达斯', '2.李宁', '3.鱼c工作室', '1.耐克']
然后我想他变成list = [ '1.耐克',, '2.李宁', '3.鱼c工作室','4.阿迪达斯']
也就是按照列表中的每个元素的第一个数字(虽然也是字符)从小到大排序这样要咋样弄啊。
我想要的是从list中的元素的第一个数字进行大小的排序的思路,不要那种直接就是把最后一个元素提取出来(比如list.pop())然后再插入第一个元素中,这样太多元素的话一个一个弄会很乱,有哪位大佬能帮下的不
最佳答案
2020-2-26 14:49:31
我做了些总结,希望对你有帮助
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Wed Feb 26 00:40:31 2020

  4. @author: yunfu
  5. """
  6. #方法一
  7. l=['4.阿迪达斯', '2.李宁', '3.鱼c工作室', '1.耐克']
  8. list1=sorted(l,reverse=False)
  9. print(list1)

  10. #方法二
  11. l=['4.阿迪达斯', '2.李宁', '3.鱼c工作室', '1.耐克']
  12. l.sort(reverse=False) #注意:与方法一不同,这里直接改变了原来的l
  13. print(l)

  14. #扩展,你也可以用reverse=True,将数组由大到小排列

  15. #方法三
  16. l=['4.阿迪达斯', '2.李宁', '3.鱼c工作室', '1.耐克']
  17. list2=sorted(l,key=lambda i:i[0],reverse=False)
  18. print(list2)

  19. #扩展:方法三很强大,它是按你选定的关键字排列的。
  20. #比如
  21. L=['apple','banana','cat']
  22. list3=sorted(L,key=lambda i:i[-1],reverse=False)#这里按每个单词最后一个字母排列
  23. print(list3)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-26 13:39:19 | 显示全部楼层
  1. list = ['4.阿迪达斯', '2.李宁', '3.鱼c工作室', '1.耐克']
  2. list.sort()
复制代码

试试看。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-26 14:06:28 | 显示全部楼层
  1. list1 = ['4.阿迪达斯', '2.李宁', '3.鱼c工作室', '1.耐克']

  2. list1.sort(key=lambda x:x[0])

  3. print(list1)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-26 14:49:31 | 显示全部楼层    本楼为最佳答案   
我做了些总结,希望对你有帮助
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Wed Feb 26 00:40:31 2020

  4. @author: yunfu
  5. """
  6. #方法一
  7. l=['4.阿迪达斯', '2.李宁', '3.鱼c工作室', '1.耐克']
  8. list1=sorted(l,reverse=False)
  9. print(list1)

  10. #方法二
  11. l=['4.阿迪达斯', '2.李宁', '3.鱼c工作室', '1.耐克']
  12. l.sort(reverse=False) #注意:与方法一不同,这里直接改变了原来的l
  13. print(l)

  14. #扩展,你也可以用reverse=True,将数组由大到小排列

  15. #方法三
  16. l=['4.阿迪达斯', '2.李宁', '3.鱼c工作室', '1.耐克']
  17. list2=sorted(l,key=lambda i:i[0],reverse=False)
  18. print(list2)

  19. #扩展:方法三很强大,它是按你选定的关键字排列的。
  20. #比如
  21. L=['apple','banana','cat']
  22. list3=sorted(L,key=lambda i:i[-1],reverse=False)#这里按每个单词最后一个字母排列
  23. print(list3)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-26 16:24:45 | 显示全部楼层

我以为这个不行,完全没试我差,原来可以,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-26 16:26:15 | 显示全部楼层

这个还没学到,但是能看懂,谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-26 16:27:23 | 显示全部楼层
ouyunfu 发表于 2020-2-26 14:49
我做了些总结,希望对你有帮助

你这个包含了前面两个人写给我的,所以把你设为最佳哈哈,谢谢呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 12:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表