繁体   English   中英

如何将浮点数元组列表转换为 Python 中的字符串列表?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM