Python 从列表和HTML标记中删除重复的元素
我有这样的清单:Python 从列表和HTML标记中删除重复的元素,python,Python,我有这样的清单: [' name = Badmash Gujjar\n', ' image = \n', ' image =\n', ' caption =\n', ' director = Sameer Butt\n', ' producer =\n', ' writer = Nasir Adeeb\n', ' starring = Saima<br
[' name = Badmash Gujjar\n',
' image = \n',
' image =\n',
' caption =\n',
' director = Sameer Butt\n',
' producer =\n',
' writer = Nasir Adeeb\n',
' starring = Saima<br>Shaan (actor)Shaan<br>',
' music = Robin Ghosh\n',
' cinematography =\n',
' editing =\n',
' distributor = \n',
' released = Film date2001']
['name=Badmash Gujjar\n',
'image=\n',
'image=\n',
'标题=\n',
'director=Sameer Butt\n',
'生产者=\n',
'writer=Nasir Adeeb\n',
“主演=塞玛·沙恩(演员)沙恩”
,
“music=Robin Ghosh\n”,
'电影摄影=\n',
'编辑=\n',
'分发服务器=\n',
'发布日期=电影日期2001']
我想从列表中删除重复的元素。我尝试了以下代码,但没有找到任何运气<代码>列表(设置(l))
还有什么方法可以删除HTML标签吗?谢谢
d = dict(map(str.strip, a.split('=', 1)) for a in l)
将创建以下字典(这可能是您想要的,因为字典没有重复的键):
{'caption':'',
“电影摄影术”:“,
“导演”:“Sameer Butt”,
“分销商”:“,
“编辑”:“,
“图像”:“,
“音乐”:“罗宾·戈什”,
'name':'Badmash Gujjar',
“制作人”:“,
"发布":"电影日期2001",,
‘主演’:‘赛玛·沙恩(演员)沙恩’,
“作者”:“纳西尔·阿德布”}
如果只想删除
标记,则可以使用以下方法:
d = dict(map(lambda x: x.strip().replace('<br>', ''), a.split('=', 1)) for a in l)
d=dict(映射(lambda x:x.strip().replace(“
”,”),a.split(“=”,1))用于l中的a)
如果您需要删除任何HTML标记,则需要一个更复杂的正则表达式(或HTML解析器)。这是一个快速的单行程序,仅用于传达这一想法。。将其用于生产时,可使脚本更具可读性。。我是你的名单
dict([tuple(map(lambda a:a.strip().replace('<br>',''),x.split("="))) for x in l])
dict([tuple(map(lambda:a.strip().replace(“
”,”),x.split(“=”)表示l中的x])
谢谢,但我只需要列表中的结果。从字符串的角度来看,'image=\n'
和'image=\n'
是不同的。这就是为什么你的方法,否则是正确的,并没有告诉你你可能在等待什么。@eumiro谢谢。我正在从列表中删除空白
。那我再试一次。thanks@eumiro它在右侧不重要
。我希望在左侧找到重复的元素,然后删除它的值。谢谢如果您想拥有唯一的键(左侧)并保存相应的值,那么字典就是您需要的解决方案。
dict([tuple(map(lambda a:a.strip().replace('<br>',''),x.split("="))) for x in l])