将元组的整数转换为元组的字符串

时间:2016-03-08 01:16:16

标签: python python-2.7 python-3.x

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

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))

2 个答案:

答案 0 :(得分: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已经失去了对蟒蛇群众的青睐(或者它可能从未真正赞成过; - )。

答案 1 :(得分: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)