我有这样的清单:
[' 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']
我想从列表中删除重复的元素。我尝试了以下代码,但没有找到任何运气。 list(set(l))
。
还有什么办法可以删除HTML标签吗?感谢
答案 0 :(得分:1)
d = dict(map(str.strip, a.split('=', 1)) for a in l)
将创建以下字典(这可能是您想要的,因为字典没有重复的键):
{'caption': '',
'cinematography': '',
'director': 'Sameer Butt',
'distributor': '',
'editing': '',
'image': '',
'music': 'Robin Ghosh',
'name': 'Badmash Gujjar',
'producer': '',
'released': 'Film date2001',
'starring': 'Saima<br>Shaan (actor)Shaan<br>',
'writer': 'Nasir Adeeb'}
如果您只想删除<br>
代码,则可以使用此代码:
d = dict(map(lambda x: x.strip().replace('<br>', ''), a.split('=', 1)) for a in l)
如果您需要删除任何 HTML标记,则需要更复杂的正则表达式(或HTML解析器)。
答案 1 :(得分:0)
这是一个快速的单线,只是为了传达这个想法..当你用它来制作时,使脚本更具可读性..你的列表在哪里......
dict([tuple(map(lambda a:a.strip().replace('<br>',''),x.split("="))) for x in l])