【问题标题】:Python2: Convert a set of floats to a stringPython2:将一组浮点数转换为字符串
【发布时间】:2014-12-11 18:42:23
【问题描述】:

问题

我们的目标是找到一种将一组数据转换为字符串的简单方法。

也许我太新了,但我没有发现从集合到字符串的转换。一个类似的问题 (Numpy converting array from float to strings) 对我没有多大帮助。

示例

我写的代码好像绝对不理想:

DataSet = {(1,4): 272.3,
           (2,4): 274.74}
print(', '.join(np.array(DataSet).astype('str'))))

个人目标

最后我想创建一个像这样的字符串:

DataSet = {(1,4): 272.3,
           (2,4): 274.74}
version = 2.7
print(''.join(np.array(['The data in {',
                        ', '.join(np.array(DataSet).astype('str'))),
                        '} is calculated with python%3.1f.' % version]))

输出应该是这样的(它会很好,但没有必要实现一些固定的浮点精度):

'The data in {272.3, 274.7} is calculated with python2.7.'

【问题讨论】:

  • ', '.join(str(i) for i in DataSet.items())? str(dataSet) 怎么样?您真的需要转换单个元素,还是只需要一个字符串输出(如果是后者,dict 所需的输出格式是什么?)?
  • 抱歉,我无法理解您的问题。你能提供一个示例输入/输出吗?
  • @HenryKeiter:您的第一个语句返回:'((2, 4), 274.74), ((1, 4), 272.3)',第二个语句:'{(2, 4): 274.74, (1, 4): 272.3}'。我没想到索引也会被打印出来——但在大多数情况下它是有意义的!我们将DataSet 的结构称为集合还是字典? @late_riser:我希望已经澄清了所需的输出。

标签: python-2.7 floating-point tostring floating-point-conversion


【解决方案1】:

DataSet 是一个 Python 字典,因此 DataSet.values() 返回其值的列表。 您需要的字符串可以由', '.join(map(str, DataSet.values()))', '.join(str(v) for v in DataSet.values())生成。

【讨论】:

    猜你喜欢
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多