簡體   English   中英

Python-將字符串轉換為列表

[英]Python - Turning a string into a list

我正在嘗試將此字符串轉換為列表:

f = open( "animals.txt", "r")
g = f.read()
g1 = g.split(",")
print g1 # list of words

我越來越:

['\x93SHEEP\x94', '\x94TIGER\x94', '\x94LION\x94', '\x94DEER\x94',
'\x94PIG\x94', '\x94DOG\x94', '\x94CAT\x94', '\x94SHARK\x94',
'\x94RAT\x94', '\x94EEL\x94']

我想要的是:

['SHEEP', 'TIGER', 'LION', 'DEER', 'PIG', 'DOG', 'CAT', 'SHARK', 'RAT', 'EEL']

我怎樣才能做到這一點?

您可以使用encode('ascii','ignore')刪除unicodes,但請注意,首先需要為python澄清您的字符串是unicode,然后可以使用decode('unicode_escape')

>>> l
['\x93SHEEP\x94', '\x94TIGER\x94', '\x94LION\x94', '\x94DEER\x94', '\x94PIG\x94', '\x94DOG\x94', '\x94CAT\x94', '\x94SHARK\x94', '\x94RAT\x94', '\x94EEL\x94']
>>> [i.decode('unicode_escape').encode('ascii','ignore') for i in l]
['SHEEP', 'TIGER', 'LION', 'DEER', 'PIG', 'DOG', 'CAT', 'SHARK', 'RAT', 'EEL']

嘗試將其放在代碼的頂部:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

嘗試使用以下方法轉義字符串:

g.decode("unicode-escape")

要么:

for i in range(0,len(g1)):
    g1[i] = g1[i].decode("unicode-escape")

假設g1是包含字符串的數組,而g是包含整個文件作為字符串的變量。

我的回答來自:

Python:為Unicode字符串消毒?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM