您好我刚刚完成了我的Lorenz代码,但我遇到了一些问题,我无法将''添加到列表中的字符。
my_sublist:[(0,0,0,0,0,0,0),(0,0,0,0,0,0,1),(0,0,0,0,0,1,0)]
和我期望的输出是:
my_sublist:[('0','0','0','0','0','0','0'),('0','0','0','0','0','0','1'),('0','0','0','0','0','1','0')]
答案 0 :(得分:1)
你想要的不是添加引号字符,而是将元组中的值转换为字符串。你可以这样做:
In [397]: my_sublist = [(0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 1), (0, 0, 0, 0, 0, 1, 0)]
In [398]: x = list(map(lambda x: tuple(map(str, x)), my_sublist))
In [399]: x
Out[399]:
[('0', '0', '0', '0', '0', '0', '0'),
('0', '0', '0', '0', '0', '0', '1'),
('0', '0', '0', '0', '0', '1', '0')]
这样做,它使用map
函数将每个元素转换为字符串:
In [400]: x = (1, 2, 3, 4)
In [403]: tuple(map(str, x))
Out[403]: ('1', '2', '3', '4')
由于您有一个元组列表,只需将上面相同的内容应用于列表中的每个元组。
答案 1 :(得分:0)
它并不完全清楚你想要什么,但从它的外观来看,你有一个带有整数的元组列表,你想要那些整数的字符串表示。您可以通过在插入元组之前将整数包装在str()函数中,或者通过迭代元组列表并转换它们来实现这几种方法。
new_list = [tuple(str(a) for a in b) for b in my_sublist]
这是一个列表推导方法,迭代列表和元组的两个层,将每个项目转换为字符串。它在做:
将列组a
中的每个元组str(a)
转换为元组b
中的每个项目为字符串my_sublist
。由于它是列表理解,您需要将第二层转换回元组tuple(str(a) for a in b)
。