Python 在列表中选择字符串的一部分

Python 在列表中选择字符串的一部分,python,Python,我正在写一个程序,按照行星相对于太阳的位置降序显示列表中行星的名称 正如你在下面看到的,我已经设法找出了如何根据不同行星相对于太阳的位置(字符串中的第三个值)对它们进行排序,但我无法找出如何删除数字并只显示文本,因为它显示了列表中的整个字符串,而不仅仅是我理想中想要的行星名称。有什么想法吗 planet_tuples=[ ("Mercury",75,1), ("Venus",460,2), ("Mars",140,4), ("Earth",510,3),

我正在写一个程序,按照行星相对于太阳的位置降序显示列表中行星的名称

正如你在下面看到的,我已经设法找出了如何根据不同行星相对于太阳的位置(字符串中的第三个值)对它们进行排序,但我无法找出如何删除数字并只显示文本,因为它显示了列表中的整个字符串,而不仅仅是我理想中想要的行星名称。有什么想法吗

planet_tuples=[
    ("Mercury",75,1),
    ("Venus",460,2),
    ("Mars",140,4),
    ("Earth",510,3),
    ("Jupiter",62000,5),
    ("Neptune",7640,8),
    ("Saturn",42700,6),
    ("Uranus",8100,7),
    ]
s=(sorted(planet_tuples,key=lambda planet: planet[2],reverse=True))
s.remove(planet_tuples[])
print (s)

您可以使用
列表理解提取
元组的第一个元素

print ([x[0] for x in s])
结果:

['Neptune', 'Uranus', 'Saturn', 'Jupiter', 'Mars', 'Earth', 'Venus', 'Mercury']

你只想知道名字<代码>[i[0]对于s中的i]
在您排序了可能的重复项后,该项工作正常,谢谢!我不明白为什么我没早点想到@克里斯,我的错,当我写我的问题时,我一定没有在类似的问题中看到这一点,谢谢!太好了<代码>快乐编码。
sum(s,())
为什么建议使用反模式?切勿使用
sum
连接序列。这就是O(N^2)。使用
itertools.chain
或展平列表理解。@juanpa.arrivillaga我只是尝试其他替代方法,可能不是个好主意,将其删除。展平然后切片并不疯狂-可以是O(N),但如果展平操作是O(N^2),则不是