繁体   English   中英

将印地文文本存储在python列表中

[英]Storing hindi text in python list

我需要将印地语单词存储在python列表中。 当我存储印地语单词时,它会存储为utf-8编码的字符串,而不是实际的单词。 虽然如果我遍历列表,我可以用印地语打印单词,但是当我打印list时,它会显示utf-8编码的字符串。

这就是我打印列表“标签”时得到的

['\xe0\xa4\x9f\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa5\x88\xe0\xa4\xab\xe0\xa4\xbf\xe0\xa4\x95 \xe0\xa4\xaa\xe0\xa5\x81\xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\xb8\xe0\xa4\x95\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xae\xe0\xa4\xbf\xe0\xa4\xaf\xe0\xa5\x8b\xe0\xa4\x82',  '\xe0\xa4\xb5\xe0\xa5\x87\xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\x9f \xe0\xa4\x9c\xe0\xa4\xbf\xe0\xa4\xb2\xe0\xa4\xbe','\xe0\xa4\x9c\xe0\xa5\x80\xe0\xa4\x8f\xe0\xa4\xb8\xe0\xa4\x9f\xe0\xa5\x80', '\xe0\xa4\xa6\xe0\xa4\xbf\xe0\xa4\xb2\xe0\xa5\x8d\xe0\xa4\xb2\xe0\xa5\x80', '\xe0\xa4\xb6\xe0\xa4\xbf\xe0\xa4\x95\xe0\xa4\xbe\xe0\xa4\xaf\xe0\xa4\xa4']

预期的输出在哪里

[ट्रैफिक पुलिसकर्मियों, वेस्ट जिला, जीएसटी,दिल्ली,शिकायत]

计算机中的所有内容都是字节,所有传入或传出您编写的程序的数据都是字节。

字节的问题在于它们本身是没有意义的,我们需要约定以赋予它们含义。 使用ASCII代码,每个字节都被分配了95个符号之一。 例如a ='\\ x61',如果您使用函数print会看到char a不是\\x61 ,但是实际上您使用字节码,那么如果您只想显示列表数据,请使用print函数:

## -*- coding: utf-8 -*-

for i in your list :
    print i

此代码的输出是有意义的

## -*- coding: utf-8 -*-

for i in your list :
    i

此代码的输出为字节

列表的str()是根据其元素的repr()构建的-您不一定能够知道元素在何处开始和结束。 字符串的repr()对非ASCII字符使用转义序列,以确保即使存在各种类型的不可打印字符,您也可以准确分辨出字符串中的内容。

您只需要自己将列表转换为字符串,而无需涉及repr()

', '.join(tags)

在打印之前将列表解码为utf-8或存储以获取实际字符串

# -*- coding: utf-8 -*-

my_list = [ट्रैफिक पुलिसकर्मियों, वेस्ट जिला, जीएसटी,दिल्ली,शिकायत]

print my_list.decode('utf-8') 

产量

[ट्रैफिक पुलिसकर्मियों, वेस्ट जिला, जीएसटी,दिल्ली,शिकायत]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM