2017-11-25 225 views
-1

对于你来说这对你来说一定是一个非常愚蠢的问题,但我在Python这个编程世界中是新的,我在列表中遇到了一些问题。如何从列表中删除一个字符串的元素

我有这样的:名单

l=[['Pasta=3', 'Soup=2'], 
['Soup=1', 'Fresh Vegetables=3', 'Milk=3', 'Plastic Utensils=2'], 
['Cheese=2', 'Deodorizers=1', 'Hard Candy=2', 'Jam=2']] 

至极名单。

我想删除'='符号以及它前面的所有符号。但我仍然想保持列表的os列表。所以,我想最后的结果是这样的:

l=[['Pasta', 'Soup'], 
['Soup', 'Fresh Vegetables', 'Milk', 'Plastic Utensils'], 
['Cheese', 'Deodorizers', 'Hard Candy', 'Jam']] 

我tryed一个为周期是这样的:

for i in h: 
    for j in i: 
     f=(j.replace('=','')) 

但没有奏效。

我能得到一些帮助?

感谢

+0

你应该真的* *考虑使用字典 – blacksite

回答

-1

正如我在评论中说,你应该真的考虑使用关键字:值字典对象这一点。但这里有一个解决方案:

>>> l=[['Pasta=3', 'Soup=2'], 
... ['Soup=1', 'Fresh Vegetables=3', 'Milk=3', 'Plastic Utensils=2'], 
... ['Cheese=2', 'Deodorizers=1', 'Hard Candy=2', 'Jam=2']] 
>>> new_l = [[x[:x.find('=')] for x in y] for y in l] 
>>> new_l 
[['Pasta', 'Soup'], ['Soup', 'Fresh Vegetables', 'Milk', 'Plastic Utensils'], ['Cheese', 'Deodorizers', 'Hard Candy', 'Jam']] 
+0

你是完全正确的,BU这个Jupyter项目我有义务只使用列表。非常感谢你的解决方案:) –

+0

谁downvoted,请留下理由为什么。我知道当被搜索的元素不存在时,str.find将返回-1,这可能会导致麻烦,但是这个解决方案完全满足了上面的基本情况。 – blacksite

相关问题