【问题标题】:Sort list python3排序列表python3
【发布时间】:2018-01-31 13:41:42
【问题描述】:

我想订购这份清单。

发件人:

01104D-BB'42
01104D-BB42
01104D-BB43
01104D-CC'42
01104D-CC'72
01104D-CC32
01104D-CC42
01104D-CC62
01104D-CC72
01104D-DD'74
01104D-DD'75
01104D-DD'76
01104D-DD'77
01104D-DD'78
01104D-DD75
01104D-DD76
01104D-DD77
01104D-DD78
01104D-EE'102
01104D-EE'12
01104D-EE'2
01104D-EE'32
01104D-EE'42
01104D-EE'52
01104D-EE'53
01104D-EE'72
01104D-EE'82
01104D-EE'92
01104D-EE102
01104D-EE12
01104D-EE2
01104D-EE3
01104D-EE32
01104D-EE42
01104D-EE52
01104D-EE62
01104D-EE72
01104D-EE82
01104D-EE83
01104D-EE92
01104D-EE93

收件人:

01104D-BB42
01104D-BB43
01104D-BB'42
01104D-CC32
01104D-CC42
01104D-CC62
01104D-CC72
01104D-CC'42
01104D-CC'72
01104D-DD75
01104D-DD76
01104D-DD77
01104D-DD78
01104D-DD'74
01104D-DD'75
01104D-DD'76
01104D-DD'77
01104D-DD'78
01104D-EE102
01104D-EE12
01104D-EE2
01104D-EE3
01104D-EE32
01104D-EE42
01104D-EE52
01104D-EE62
01104D-EE72
01104D-EE82
01104D-EE83
01104D-EE92
01104D-EE93
01104D-EE'102
01104D-EE'12
01104D-EE'2
01104D-EE'32
01104D-EE'42
01104D-EE'52
01104D-EE'53
01104D-EE'72
01104D-EE'82
01104D-EE'92

你能帮帮我吗? 谢谢

【问题讨论】:

  • 什么...你试过这样做吗?排序是否有任何特殊语义,还是只是普通的 A-Z 搜索?帮助我们为您提供帮助。
  • 感谢您的快速回复,我尝试使用 open("file.txt") as f: data = f.read() x = list(data) y = x.sort()打印(y)

标签: python-3.x list sorting


【解决方案1】:

我在这里猜测,因为您还没有解释您希望如何完成排序。但是看起来您希望字符 ' 对数字 0-9 进行排序之后,并且 ascii 排序顺序将它放在 之前 数字。如果这是正确的,那么您需要用不同的字符替换 '~ 可能是一个不错的选择,因为它是最后一个可打印的 ascii 字符。

如果你的数据在mylist,那么

mylist.sort(key=lambda a: a.replace("'","~"))

将按照我猜你想要的顺序对其进行排序。

【讨论】:

  • 脚本不工作: with open("2.txt") as f: data = f.read() h = list(data.split("\n")) z = h .sort() 打印(z)
  • 我还以为您的 sort 有问题。请将您的代码与问题以及完整的堆栈跟踪联系起来。 “不工作”是不够的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-31
  • 1970-01-01
  • 2015-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多