在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