当前位置: 首页 > 知识库问答 >
问题:

使用python[重复]删除此列表中的无值

南门洋
2023-03-14

我想删除这个列表中的无值

input= [(None, 'Ibrahimpatnam', 9440627084, None, 'Under Investigation'),
        (None, 'Ibrahimpatnam', 9440627084, None, 'Under Investigation')]

并得到如下输出

['Ibrahimpatnam', 9440627084, 'Under Investigation', 'Ibrahimpatnam', 9440627084, 'Under Investigation']

共有3个答案

夏祯
2023-03-14

如果你想剥离,那么连接列表理解在这里工作得非常干净,而不会失去可读性:

import itertools
stripped_lists = [ [x for x in sublist if x] for sublist in input_ ]

print(list(itertools.chain.from_iterable(stripped_lists )))

输出:

['Ibrahimpatnam', 9440627084, 'Under Investigation', 'Ibrahimpatnam', 9440627084, 'Under Investigation']

或者,如果您连接然后剥离,这是很好和简短的:

print(list(x for x in itertools.chain.from_iterable(aa) if x))
叶茂
2023-03-14

试试这个:

input_= [(None, 'Ibrahimpatnam', 9440627084, None, 'Under Investigation'),
        (None, 'Ibrahimpatnam', 9440627084, None, 'Under Investigation')]
output = []
for each in input_:
    newList = list(filter(None,each))
    output = output+newList
print(output)

注意:不要使用input作为变量,它在python中是保留关键字。如果你只是把它用在这篇文章上就可以了。

巫马庆
2023-03-14

您需要遍历列表(其中包含元组),然后遍历每个元组。检查每个元组的每个元素是否为

a = [
    (None, "Ibrahimpatnam", 9_440_627_084, None, "Under Investigation"),
    (None, "Ibrahimpatnam", 9_440_627_084, None, "Under Investigation"),
]
b = [element for sub_tuple in a for element in sub_tuple if element is not None]
print(b)

你得到了什么

['Ibrahimpatnam',9440627084'正在调查','Ibrahimpatnam',9440627084'正在调查']

 类似资料:
  • 问题内容: 我有一个对象列表,并且有一个充满记录的数据库表。我的对象列表具有标题属性,我想从列表中删除所有具有重复标题的对象(保留原始对象)。 然后,我要检查我的对象列表是否在数据库中有任何记录的重复项,如果是,请在将它们添加到数据库之前从列表中删除这些项目。 我已经看到了从这样的列表中删除重复项的解决方案:,但是我不确定如何使用对象列表来做到这一点? 我也需要维护对象列表的顺序。我也在想,也许我

  • 问题内容: 我在Python中有一个列表列表: 我想从中删除重复的元素。如果这是正常列表,而不是我可以使用的列表set。但不幸的是,该列表不可散列,因此无法建立一组列表。只有元组。因此,我可以将所有列表转换为元组,然后使用set并返回列表。但这不是很快。 如何以最有效的方式做到这一点? 上面的结果应为: 我不在乎保留订单。 注意:这个问题很相似,但不是我所需要的。搜索了SO,但没有找到确切的重复项

  • 问题内容: 我想从列表列表中删除所有重复列表。 所以我有一个这样的清单清单。 我希望有: 我不知道该怎么办。 谢谢 问题答案: 您可以使用一组: 或者,如果您更喜欢列表推导/生成器: 最后,如果顺序很重要,则可以始终对b进行排序:

  • 问题内容: 如果想基于每个嵌套列表的第一个元素评估重复项,谁能提出一个好的解决方案从嵌套列表中删除重复项? 主列表如下所示: 如果已经在第一位置出现了另一个具有相同元素的列表,那么我想删除该列表并得到以下结果: 您可以建议一种算法来实现此目标吗? 问题答案: 您是否关心保留订单/删除了哪些重复项?如果不是,则: 会做的。如果您想保留订单并想保留第一个订单,则:

  • 问题内容: 有一个字典列表,我想删除具有相同键和值对的字典。 对于此列表: 我想退掉这个: 另一个例子: 对于此列表: 我想退掉这个: 问题答案: 尝试这个: 该策略是将字典列表转换为元组列表,其中元组包含字典项。由于可以对元组进行散列,因此你可以使用删除重复项set(在这里使用,这将是更老的python替代品,然后,使用来从元组中重新创建字典dict。 哪里: l 是原始清单 d 是列表中的词典

  • 问题内容: 从数据框中删除重复列的最简单方法是什么? 我正在通过以下方式读取具有重复列的文本文件: 列名是: 所有“时间”和“相对时间”列均包含相同的数据。我想要: 我所有的删除,删除等尝试,例如: 导致唯一值索引错误: 很抱歉成为熊猫的菜鸟。任何建议,将不胜感激。 额外细节 熊猫版本:0.9.0 Python版本:2.7.3 Windows 7 (通过Pythonxy 2.7.3.0安装) 数据