我有一套说法
char={'J','A'}
和列表的列表
content = [[1,'J', 2], [2, 'K', 3], [2, 'A', 3], [3,'A', 9], [5, 'J', 9]]
我正在尝试删除列表 content
中没有 'J' 和 'A'
的列表项
我做的是
li = list(char)
char1= np.array(li)
content=np.array(content)
new_content=[]
for alphabet in content:
if alphabet[1] in char1:
new_content.append(alphabet)
print(new_content)
有什么高效的写法吗?如果char
和content
的元素个数较多,则计算时间较长。
最佳答案
>>> content = [[1,'J', 2], [2, 'K', 3], [2, 'A', 3], [3,'A', 9], [5, 'J', 9]]
>>> char={'J','A'}
content
中包含“J”和“A”的所有列表:
>>> [x for x in content if all(c in x for c in char)]
[]
content
中具有“J”或“A”的所有列表:
>>> [x for x in content if any(c in x for c in char)]
[[1, 'J', 2], [2, 'A', 3], [3, 'A', 9], [5, 'J', 9]]
关于 python : Removing a List from List of List?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35228855/