两个案例的样本弹出。下面。在一个很长的列表中,我的“e”变成了“\ xe9”和“\ xe8”,因为法语中的“e”小逗号。我想把这些“\ xe8”的东西无缝地变回“e”。 我看到有一个名为Unidecode的模块(?)。从未使用过它。它是解决这个问题的最恐怖的方式吗?
这些是列表中的元组。 列表的一部分示例...
(u'Caf\xe9 Society', 70)
(u'Oddball and the Penguins (Oddball)', 86)
(u'Antarctica: Ice & Sky (La glace et le ciel)', 95)
(u"Reset (Rel\xe8ve: Histoire d'une cr\xe9ation)", 75)
我试过......
list3 = ['e' if x=='/ex9' else x for x in list2]
这不会给我一个错误。它只是没有做任何事情。
我会提出我的整个代码,因为我不太知道如何在小范围内复制它。它从RottenTomatoes.com获得了几百部电影和乐谱。
import requests
r3 = requests.get('https://www.rottentomatoes.com/api/private/v2.0/browse?page=1&limit=330&type=dvd-all&services=amazon%3Bamazon_prime%3Bfandango_now%3Bhbo_go%3Bitunes%3Bnetflix_iw%3Bvudu&sortBy=release')
movies = []
data = r3.json()
for result in data["results"]:
movies.append((result["title"], result["tomatoScore"]))
list2 = [i for i in movies if i[1] >=60]
list3 = ['e' if x=='/ex9' else x for x in list2]
for i in list3:
print i
答案 0 :(得分:0)
我想这是你从print
获得的结果,我认为你误解了它在python中是如何工作的。 您不需要替换任何内容,它们就是它们的字符,只是“转义版本”。
尝试这样做:
for movie in movies:
print movie[0], movie[1]
print movie
结果:
Café Society 70
(u'Caf\xe9 Society', 70)
Reset (Relève: Histoire d'une création) 75
(u"Reset (Rel\xe8ve: Histoire d'une cr\xe9ation)", 75)
当你打印一个字符串时,你得到了对象的__str__
方法的输出,实际上列表的__str__
方法是不同的,它使用{{1创建一个字符串每个对象的方法,这就是你在控制台上看到不同结果的原因。