我从网页上删除了这个列表
scraped = ['24 hour front desk', 'Bar / Lounge', 'Business centre', 'Café']
我想检查列表中是否存在Cafe
?
我这样做:
if "Caf" in scraped:
print("Yes")
else:
print("No")
始终打印否
原因我写的Caf
来自抓取的列表,它总是以非ascii字符Café
如何在不执行此# -*- coding: utf-8 -*-
的情况下执行此检查?
答案 0 :(得分:3)
if "Caf" in scraped:
检查文字字符串" Caf"在列表中,它不是。
检查" Caf"在列表中的任何字符串中,使用:
if any("Caf" in s for s in scraped)
要检查非ascii字符,您始终可以使用unicode转义序列:
>>> "Caf\xe9" == 'Café'
True`
答案 1 :(得分:1)
ch3ka的答案解决了代码中的问题。这是此类问题的替代方案。
您可以使用awesome-slugify模块来处理这些字符,例如
from slugify import slugify
print(slugify('Café')) # outputs 'Cafe'