[英]How to convert a list of tuples of floats to list of strings in Python?
我有一个元组列表如下 -
my_list = [(0, nan), (20.307, 0.14045), (-16.879, 0.09363), (4.598, 0.06323)]
这个列表是-的结果
my_list = list(zip(list_a,list_b))
其中list_b
是通过附加从一系列计算的方差创建的,因此nan
。
预期输出是 -
my_list = ['0, nan','20.307, 0.14045', '-16.879, 0.09363', '4.598, 0.06323']
我尝试遍历my_list
但出现错误 - NameError: name 'nan' is not defined
请指导。 谢谢
float("nan")
是 python 表示NaN
。
你可以这样做:
my_list = [(0, float("nan")), (20.307, 0.14045), (-16.879, 0.09363), (4.598, 0.06323)]
ret = [', '.join(str(i) for i in items) for items in my_list]
# ['0, nan', '20.307, 0.14045', '-16.879, 0.09363', '4.598, 0.06323']
或者如果您的列表中总是只有两个项目,您可以使用 f 字符串:
ret = [f'{a}, {b}' for a, b in my_list]
my_list = [(0, None), (20.307, 0.14045), (-16.879, 0.09363), (4.598, 0.06323)]
result = [f'{x[0]},{x[1]}' for x in my_list]
您可以为列表中的每个元组添加一个包含第一项和第二项的字符串
你的问题有点不清楚,但让我尽我所能来回答。 无论如何,您可能需要做的第一件事是:
from math import nan
允许使用nan
文字。 如果要将my_list
转换为字符串,有一个 oneliner 可以做到:
my_list_strings = [", ".join(map(str, one_tuple)) for one_tuple in my_list]
或者,您是否首先希望my_list
成为字符串列表? 实现这一目标的一种方法:
my_list = []
for single_str in zip(list_a, list_b):
my_list.append(str(single_str[0]) + ", " + str(single_str[1]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.