Python 编辑一个列表,同时将其作为约束与另一个列表进行比较
我有一个包含一些文字的列表,还有一个只包含所需文字的列表,我想得到一个包含相关文字及其符号的输出,我应该如何计算这个输出?非常感谢Python 编辑一个列表,同时将其作为约束与另一个列表进行比较,python,list,compare,Python,List,Compare,我有一个包含一些文字的列表,还有一个只包含所需文字的列表,我想得到一个包含相关文字及其符号的输出,我应该如何计算这个输出?非常感谢 list=[0,-1, 2, 3, 11, 12, -13, 21, -22, 23, 31, -32, 33, 50, 20, 30] needed literals = [11, 12, 13, 21, 22, 23, 31, 32, 33] output = [11, 12, -13, 21, -22, 23, 31, -32, 33] 编辑:每个文本也
list=[0,-1, 2, 3, 11, 12, -13, 21, -22, 23, 31, -32, 33, 50, 20, 30]
needed literals = [11, 12, 13, 21, 22, 23, 31, 32, 33]
output = [11, 12, -13, 21, -22, 23, 31, -32, 33]
编辑:每个文本也是一个字符串,例如:“11”、“12”等。这很容易理解列表:
literal_list = [0, -1, 2, 3, 11, 12, -13, 21, -22, 23, 31, -32, 33, 50, 20, 30]
needed_literals = [11, 12, 13, 21, 22, 23, 31, 32, 33]
output = [n for n in literal_list if abs(n) in needed_literals]
#=> [11, 12, -13, 21, -22, 23, 31, -32, 33]
如果两个列表的元素都是字符串而不是整数,则可以在以下条件下进行转换:
output = [n for n in literal_list if str(abs(int(n))) in needed_literals]
复制品:
output = [ for i in input_list if abs(i) in needed_literals]
output = [ for i in set(input_list) if abs(i) in needed_literals]
无重复项:
output = [ for i in input_list if abs(i) in needed_literals]
output = [ for i in set(input_list) if abs(i) in needed_literals]