如何从列表中删除一个字符串的元素
问题描述:
对于你来说这对你来说一定是一个非常愚蠢的问题,但我在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('=',''))
但没有奏效。
我能得到一些帮助?
感谢
答
正如我在评论中说,你应该真的考虑使用关键字:值字典对象这一点。但这里有一个解决方案:
>>> 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
你应该真的* *考虑使用字典 – blacksite