Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中将字符串转换为元组_Python_String_Tuples - Fatal编程技术网

在python中将字符串转换为元组

在python中将字符串转换为元组,python,string,tuples,Python,String,Tuples,好的,我有这根绳子 tc='(107, 189)' 我需要它是一个元组,这样我就可以一次调用每个数字 print(tc[0]) #needs to output 107 提前谢谢你 使用: 您所需要的只是ast.literal\u eval: >>> from ast import literal_eval >>> tc = '(107, 189)' >>> tc = literal_eval(tc) >>> tc (1

好的,我有这根绳子

tc='(107, 189)'
我需要它是一个元组,这样我就可以一次调用每个数字

print(tc[0]) #needs to output 107
提前谢谢你

使用:


您所需要的只是
ast.literal\u eval

>>> from ast import literal_eval
>>> tc = '(107, 189)'
>>> tc = literal_eval(tc)
>>> tc
(107, 189)
>>> type(tc)
<class 'tuple'>
>>> tc[0]
107
>>> type(tc[0])
<class 'int'>
>>>
>>来自ast导入文字\u eval
>>>tc='(107189)'
>>>tc=文字值(tc)
>>>tc
(107, 189)
>>>类型(tc)
>>>tc[0]
107
>>>类型(tc[0])
>>>
从:

ast.literal\u eval(节点或字符串)

安全地计算表达式节点或包含 Python表达式。提供的字符串或节点可以是 仅由以下Python文本结构组成:字符串, 数字、元组、列表、dicts、boolean和None


您可以使用内置的
eval
,它计算Python表达式:

>>> tc = '(107, 189)'
>>> tc = eval(tc)
>>> tc
(107, 189)
>>> tc[0]
107

好吧,这个内置函数的存在是有原因的,我认为如果OP问题是针对这类表达式的,它可以完美地完成任务,并且不需要导入。我总是对人们为什么反对导入感到困惑。我想我从来没有写过一个python脚本,它不需要我至少导入
sys
os
。通常导入是不错的。。但是如果我能用内置的解决一个特定的问题,我更喜欢这样。但无论如何,请注意导入(包括仅从模块导入少数项时)实际上会评估整个模块,并且在某些罕见的情况下,您可能希望避免这种情况(尽管通常这并不重要,您也不会感觉到任何差异)。
>>> tc = '(107, 189)'
>>> tc = eval(tc)
>>> tc
(107, 189)
>>> tc[0]
107