2016-03-08 114 views
0

我想将元组的整数转换为元组的字符串。 例如:将元组的整数转换为元组的字符串

data = [(2,3,4,...),(23,42,54,...),......] 

会导致:

d = [('2','3','4',...),('23','42','54',....)......] 

请注意元组是如何大和列表也大。

我尝试下面的代码,但它不给我,我一直在寻找的结果:

data = [(2,3,4,...),(23,42,54,...),......] 

d=[] 
for t in data: 
    d.append(str(t)) 

回答

5

此靠拢:

data = [[str(x) for x in tup] for tup in data] 

如果你确实需要元组

data = [tuple(str(x) for x in tup) for tup in data] 

或者,如果你喜欢更“实用”法:

data = [tuple(map(str, tup)) for tup in data] 

虽然它似乎map已经失宠与蟒蛇人群(或者也许它永远不会实际上是赞成;-)。

+0

非常感谢你的帮助。你很棒。我会在6分钟内接受这个答案。 – Sam

0

这将递归转换无限嵌套的列表和元组:

def stringify(something): 
    if type(something) == list: 
     return [stringify(x) for x in something] 
    elif type(something) == tuple: 
     return tuple(stringify(list(something))) 
    else: 
     return str(something) 
+2

小心地绕过“无限”这个词 - 至少在大多数python实现中,您会遇到递归限制_sometime_。我不确定无法堆栈。 。 。嗯。 。 。 :-) – mgilson