将元组的整数转换为元组的字符串
问题描述:
我想将元组的整数转换为元组的字符串。 例如:将元组的整数转换为元组的字符串
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))
答
此靠拢:
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
已经失宠与蟒蛇人群(或者也许它永远不会实际上是赞成;-)。
答
这将递归转换无限嵌套的列表和元组:
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
非常感谢你的帮助。你很棒。我会在6分钟内接受这个答案。 – Sam