Python,使用列表
我有这样的元组列表:Python,使用列表,python,list,tuples,Python,List,Tuples,我有这样的元组列表: lst = [(10, u'1.15', u'1.15'), (5, 0, u'1.875'), (3, u'2.28', u'2.28')] 我想得到一个新的元组,每个元组只有第二个和第三个元素,不等于0,换句话说,我需要这样的东西: new_lst = [u'1.15', u'1.15',u'1.875', u'2.28', u'2.28'] 谢谢你的回答 new_lst = [x for t in lst for x in t[1:] if x != 0] 希望
lst = [(10, u'1.15', u'1.15'), (5, 0, u'1.875'), (3, u'2.28', u'2.28')]
我想得到一个新的元组,每个元组只有第二个和第三个元素,不等于0,换句话说,我需要这样的东西:
new_lst = [u'1.15', u'1.15',u'1.875', u'2.28', u'2.28']
谢谢你的回答
new_lst = [x for t in lst for x in t[1:] if x != 0]
希望这有帮助
希望这有帮助奇怪--这看起来像是您在交互式解释器中键入的,但显然没有,因为结果不正确。我真的很好奇这是怎么发生的:)这正是翻译给我的。你怎么认为这是错的?对我来说,它给出了
[u'1.15',u'1.15',0,u'1.875',u'2.28',u'2.28']
@Sven:你是对的。我不得不做一个老式的复制粘贴(阅读和重写),但错过了那一个奇怪的--这看起来像是你在交互式解释器中键入的,但你显然没有,因为结果不正确。我真的很好奇这是怎么发生的:)这正是翻译给我的。你怎么认为这是错的?对我来说,它给出了[u'1.15',u'1.15',0,u'1.875',u'2.28',u'2.28']
@Sven:你是对的。我不得不做一个老学校的复制粘贴(阅读和重写),但错过了那一个
>>> [x for y in lst for x in y[1:3] if x]
[u'1.15', u'1.15', u'1.875', u'2.28', u'2.28']
>>> L = [(10, u'1.15', u'1.15'), (5, 0, u'1.875'), (3, u'2.28', u'2.28')]
>>> answer = []
>>> for tup in L:
... answer.extend([i for i in tup[1:] if i])
...
>>> answer
[u'1.15', u'1.15', u'1.875', u'2.28', u'2.28']