如何在python中将字符串转换为元组
我已经从下面给出的csv_文件中读取了一个字符串如何在python中将字符串转换为元组,python,tuples,Python,Tuples,我已经从下面给出的csv_文件中读取了一个字符串 "('Who is Shaka Khan?',{'entities': [(7, 17, 'PERSON')]})," Who is Shaka Khan? {'entities': [(7, 17, 'PERSON')]} 当我迭代它时,我得到的每个字符如下: ('(', "'", 'W', 'h', 'o', ' ', 'i', 's', ' ', 'S', 'h', 'a', 'k', 'a', ' ', 'K', 'h', '
"('Who is Shaka Khan?',{'entities': [(7, 17, 'PERSON')]}),"
Who is Shaka Khan?
{'entities': [(7, 17, 'PERSON')]}
当我迭代它时,我得到的每个字符如下:
('(', "'", 'W', 'h', 'o', ' ', 'i', 's', ' ', 'S', 'h', 'a', 'k', 'a', ' ', 'K', 'h', 'a', 'n', '?', "'", ',', '{', "'", 'e', 'n', 't', 'i', 't', 'i', 'e', 's', "'", ':', ' ', '[', '(', '7', ',', ' ', '1', '7', ',', ' ', "'", 'P', 'E', 'R', 'S', 'O', 'N', "'", ')', ']', '}', ')', ',')
但我需要它以元组的形式存储,这样当我迭代它时,我可以得到如下所示的输出
"('Who is Shaka Khan?',{'entities': [(7, 17, 'PERSON')]}),"
Who is Shaka Khan?
{'entities': [(7, 17, 'PERSON')]}
如何在python中实现这一点?使用
ast.literal\u eval
将字符串转换为元组
>>> s = "('Who is Shaka Khan?',{'entities': [(7, 17, 'PERSON')]}),"
>>> import ast
>>> t = ast.literal_eval(s)
>>> t[0]
('Who is Shaka Khan?', {'entities': [(7, 17, 'PERSON')]})
>>> t[0][0]
'Who is Shaka Khan?'
>>> t[0][1]
{'entities': [(7, 17, 'PERSON')]}
或者,您可以将其转换为dict,以便于访问
>>> d = dict(ast.literal_eval(s))
>>> d['Who is Shaka Khan?']
{'entities': [(7, 17, 'PERSON')]}
使用
literal\u eval
In [87]: from ast import literal_eval
In [88]: literal_eval("('Who is Shaka Khan?',{'entities': [(7, 17, 'PERSON')]}),")
Out[88]: (('Who is Shaka Khan?', {'entities': [(7, 17, 'PERSON')]}),)
您必须使用tuple函数,但它必须是一个列表
例子:
返回
(4、5、6)
您可以使用
ast.literal\u eval
import ast
a = ast.literal_eval("('Who is Shaka Khan?',{'entities': [(7, 17, 'PERSON')]}),")
print(a[0][1])
输出
{'entities': [(7, 17, 'PERSON')]}
我不确定,但请再试一次:
a='who is Shaka Khan'打印元组(a,)
我不明白这与这个问题有什么关系?你好,很高兴再次见到你@Roganjosh。所以我觉得这个问题有点难理解,但从我得到的信息来看,我觉得他问的标题是“如何在python中将字符串转换为元组”,尽管他也问了如何在它上面创建迭代,这是在我之前有人问过的