我的列表如下:
['X', 'table', 'product1', 'product2', 'product3', 'product4', 'product5']
在此列表中,我想保留其中仅包含乘积一词的元素,然后删除其余的元素。
输出必须如下所示:
['product1', 'product2', 'product3', 'product4', 'product5']
我想知道如何做到这一点。
答案 0 :(得分:4)
使用list comprehension并使用in
确定字符串product
是否为in
所评估的项目
l = ['X', 'table', 'product1', 'product2', 'product3', 'product4', 'product5']
print([i for i in l if 'product' in i])
# ['product1', 'product2', 'product3', 'product4', 'product5']
答案 1 :(得分:2)
>>> initial_list = ['X', 'table', 'product1', 'product2', 'product3', 'product4', 'product5'] >>> product_list = [item for item in initial_list if "product" in item] >>> product_list ['product1', 'product2', 'product3', 'product4', 'product5']
答案 2 :(得分:1)
您可以使用列表推导,在其中检查每个元素中是否存在单词product
a = ['X', 'table', 'product1', 'product2', 'product3', 'product4', 'product5']
b = [i for i in a if 'product' in i]
# ['product1', 'product2', 'product3', 'product4', 'product5']
答案 3 :(得分:1)
这有效:
s = pd.Series(['X', 'table', 'product1', 'product2', 'product3', 'product4', 'product5'])
mask = s.str.match("product")
s[mask]
答案 4 :(得分:1)
您还可以执行过滤器,例如:
lst = ['X', 'table', 'product1', 'product2', 'product3', 'product4', 'product5']
lst = filter(lambda x: 'product' in x, lst)
print(list(lst))
答案 5 :(得分:0)
首先,您需要创建regex
,然后创建filter
import re
mylist = ['X', 'table', 'product1', 'product2', 'product3', 'product4', 'product5']
r = re.compile(".*product")
newlist = list(filter(r.match, mylist))
print(newlist)
输出:
['product1', 'product2', 'product3', 'product4', 'product5']
答案 6 :(得分:0)
您可以使用列表控件方法来查找列表中特定的任何内容。例子
我想在此列表中找到所有学生: ls = ['LSD','Student1','Student2','Student1231','jj',21]
我找到它并列出具有特定条件的 in 方法
print([如果s中的'Student',则为s中的s,则为s)
output = ['Student1','Student2','Student1231']
您可以使用相同的方法在列表中查找产品: product_ls = ['X','表','product1','product2','product3','product4','product5']
print([如果在p中为'product',则在product_ls中为p的p]]