Python,处理列表

1 投票
3 回答
1310 浏览
提问于 2025-04-16 20:05

我有这样一个元组列表:

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']

谢谢大家的回答。

3 个回答

0
>>> 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']

希望这能帮到你

2
>>> [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']

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

4

在编程中,我们常常会遇到一些问题,尤其是在使用某些工具或库的时候。比如,有时候我们想要实现某个功能,但发现自己不知道该怎么做。这种情况下,很多人会选择去StackOverflow这个网站寻求帮助。

StackOverflow是一个程序员交流的平台,用户可以在这里提问,也可以回答别人的问题。这个网站上有很多经验丰富的程序员,他们会分享自己的知识和解决方案。

当你在StackOverflow上看到一个问题时,通常会有很多人给出不同的答案。你可以根据这些答案来找到解决自己问题的方法。记得查看答案的投票数和评论,这样可以帮助你判断哪个答案更靠谱。

总之,StackOverflow是一个很好的资源,特别是当你在编程中遇到困难时,可以在这里找到很多有用的信息和帮助。

new_lst = [x for t in lst for x in t[1:] if x != 0]

撰写回答