我有以下清单:
L = [('carga', 'NCFS000', 'superior', 'AQ0CS0'),('carga', 'NCFS000', 'frontal', 'AQ0CS0')]
如何删除'NCFS000', 'AQ0CS0'
和方括号?,类似于:
[('carga', 'superior'),('carga', 'frontal')]
我已经准备好了:
def remove_values_from_list(the_list, val):
return [value for value in the_list if value != val]
print "Esta es el bigrama final:\n",\
remove_values_from_list(L, 'NCFS000')
但是id仍然在列表中,我如何删除id并以所需格式获取所有单词?。如何声明此任务的正则表达式?。谢谢
这里的问题是您有一个嵌套的集合,但没有嵌套的循环。顶级列表没有任何值
== 'NCFS000'
,因此在删除所有这些值之后,没有任何更改。你知道吗您想要的是:对于列表中的每个元组,删除每个值
== 'NCFS000'
,对吗?这里有两个“each”,所以代码中需要两个for
。你知道吗当然,这会提供一个列表列表,而不是一开始就提供的元组列表。如果这是一个问题,Python没有“元组理解”,但是它有
tuple
构造函数和生成器表达式,这已经足够好了:您只需迭代元组,而不是值本身。如果要一次删除多个值,可以这样做:
可以使用list comprehension和slicing:
相关问题 更多 >
编程相关推荐