# Functional style.
print map(lambda x: x.encode('ascii'), my_list)
# List comprehension.
print [x.encode('ascii') for x in my_list]
# Interesting if my_list may be a tuple or a string.
print type(my_list)(x.encode('ascii') for x in my_list)
# What do I care about the brackets anyway?
print ', '.join(repr(x.encode('ascii')) for x in my_list)
# That's actually not a good way of doing it.
print ' '.join(repr(x).lstrip('u')[1:-1] for x in my_list)
如果访问/打印单个元素列表(例如,顺序或筛选):
您可能有一个包含一个unicode字符串的列表。这里的
repr
是[u'String']
。可以使用以下任何变体将其转换为字节字符串列表:
[u'ABC']
将是unicode字符串的单元素列表。Beautiful Soup always produces Unicode。因此,您需要将列表转换为单个unicode字符串,然后将其转换为ASCII。我不知道你是如何得到一个元素列表的;contents成员是一个字符串和标记的列表,这显然不是你所拥有的。假设您总是得到一个只有一个元素的列表,并且您的测试实际上是仅ASCII,那么您将使用以下命令:
但是,请再次检查您的数据是否真的是ASCII。这很少见。更有可能是拉丁语-1或utf-8。
或者你问Beautiful Soup最初的编码是什么,然后用这个编码把它恢复过来:
相关问题 更多 >
编程相关推荐