我有这个清单;
List=[(1, 'John', 129L, 37L), (2, 'Tom', 231L, 23L)]
我想将其转换为这样;
OutputList = [('1', 'John', '129', '37'), ('2', 'Tom', '231', '23')]
列表中的所有数据类型都将转换为字符串。我尝试了一下,[str(i) for i in List]
但结果没有正确。解决此问题的正确方法是什么?
我正在使用python 2.7
>>> lst = [(1, 'John', 129L, 37L), (2, 'Tom', 231L, 23L)]
>>> [tuple(str(x) for x in xs) for xs in lst]
[('1', 'John', '129', '37'), ('2', 'Tom', '231', '23')]
或map
代替生成器表达式使用:
>>> [tuple(map(str, xs)) for xs in lst]
[('1', 'John', '129', '37'), ('2', 'Tom', '231', '23')]
上面的列表理解类似于以下嵌套的for循环:
>>> result = []
>>> for xs in lst:
... temp = []
... for x in xs:
... temp.append(str(x))
... result.append(tuple(temp))
...
>>> result
[('1', 'John', '129', '37'), ('2', 'Tom', '231', '23')]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句