有没有人能建议一个简单的方法来做这件事。我需要一条直线。
出现故障
a = 'Quattro TT'
print tuple(a)
Works
a = ['Quattro TT']
print tuple(a)
因为我的输入是一个字符串,所以我尝试了下面的代码,将字符串转换为列表,这将再次将字符串拆分为字符。
出现故障
a = 'Quattro TT'
print tuple(list(a))
预期输出:
('Quattro TT')
生成的输出:
('Q', 'u', 'a', 't', 't', 'r', 'o', ' ', 'T', 'T')
发布于 2013-05-09 04:00:45
你可以只做(a,)
。不需要使用函数。(请注意,逗号是必需的。)
本质上,tuple(a)
意味着创建a
内容的元组,而不仅仅是由a
本身组成的元组。字符串的“内容”(当您迭代它时得到的内容)是它的字符,这就是它被拆分成字符的原因。
发布于 2017-07-06 16:29:27
我使用此函数将字符串转换为元组
import ast
def parse_tuple(string):
try:
s = ast.literal_eval(str(string))
if type(s) == tuple:
return s
return
except:
return
用法
parse_tuple('("A","B","C",)') # Result: ('A', 'B', 'C')
在您的情况下,您需要
value = parse_tuple("('%s',)" % a)
发布于 2013-09-14 07:31:04
以防有人想知道如何创建一个元组,将字符串"Quattro“和"TT”的每一部分赋给列表的一个元素,它就像这样的print tuple(a.split())
https://stackoverflow.com/questions/16449184
复制相似问题