Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 把数字排成一行_Python_String_Sorting - Fatal编程技术网

Python 把数字排成一行

Python 把数字排成一行,python,string,sorting,Python,String,Sorting,我们有这样一个字符串中的数字: numbers = "1534423543" 我们希望对此进行排序并返回: "1,2,3,4,5" (仅限唯一编号!) 如何在一行中完成此操作?使用set()获取唯一的项目,然后使用sorted()对它们进行排序,最后使用“,”将它们连接起来。join() 阿什维尼的答案就在每个人的指尖上——如果你想要进口,你可以 from itertools import groupby; ','.join(k for k, g in groupby(sorted(num

我们有这样一个字符串中的数字:

numbers = "1534423543"
我们希望对此进行排序并返回:

"1,2,3,4,5" 
(仅限唯一编号!)

如何在一行中完成此操作?

使用
set()
获取唯一的项目,然后使用
sorted()
对它们进行排序,最后使用
“,”将它们连接起来。join()


阿什维尼的答案就在每个人的指尖上——如果你想要进口,你可以

from itertools import groupby; ','.join(k for k, g in groupby(sorted(nums)))

这几乎是一行:)

为什么在一行中做这件事如此重要?为什么你更喜欢这个而不是更简单的
set
解决方案?@mgilson我肯定会使用
set
解决方案,只是想我会加入一个替代方案(感谢编辑)分号作弊。虽然我认为导入不应该计数,但如果字符串只包含数字,我们需要使用
sorted()
吗?@Jaypal如果您只需要唯一的项,那么
set()
就足够了,但是如果您希望它们按排序顺序排列,那么使用
sorted
,因为集合不会保留顺序。谢谢Ashwini。我在IDLE中尝试解决方案,并注意到如果使用只包含数字的字符串,
set()
总是按排序顺序返回唯一的项。因此,我想知道我们是否只需要在处理可能是共同关联的
alphanum
@Jaypal时才需要使用
sorted()
,但您不应该依赖集合进行排序。在CPython中,它们被实现为哈希表<代码>帮助(设置)-->构建一个无序的独特元素集合。@AshwiniChaudhary谢谢,我有预感它可能是共同关联的。感谢您的快速回复。:)
from itertools import groupby; ','.join(k for k, g in groupby(sorted(nums)))