Phi*_*hil 2 python python-2.x python-2.7
我想说我对编程和 Python 都是新手。在发布这个问题之前,我确实尝试过进行研究,但我对基础知识的缺乏无助于产生任何结果,因此需要我在这里提问。
我有两个字符串,如下所示:
str_a = "100,101,105,304"
str_b = "400,500,101"
Run Code Online (Sandbox Code Playgroud)
我需要将这些字符串合并为一个,所以我使用:
str_c = str_a + "," + str_b
Run Code Online (Sandbox Code Playgroud)
我的问题从这里开始。在这个新字符串中,其中的元素(数字)以逗号分隔,我希望每个项目仅列出一次。数字的顺序并不重要,但如果它是升序的,那将是相当惊人的。
我该如何将这两个数字结合起来,每个数字都列出一次,如果可能的话从小到大排序?
由于这些是字符串,我什至不确定是否可以迭代?
我们将非常感谢您的帮助,提前致谢。
尝试这个:
str_a = "100,101,105,304"
str_b = "400,500,101,2000"
l = str_a.split(',') + str_b.split(',')
print ','.join(sorted(set(l), key=int))
Run Code Online (Sandbox Code Playgroud)
输出是:
100,101,105,304,400,500,2000
Run Code Online (Sandbox Code Playgroud)
感谢奥伦的评论!我添加了key=int一个额外的参数来将sorted列表的元素作为整数而不是字符串进行比较。该参数允许指定一个参数的函数,该函数将在列表的每个元素上调用以提取比较键。在我们的例子中,我们使用int将每个元素转换为整数。