首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何格式化字符串和小数,同时在python中追加列表?

如何格式化字符串和小数,同时在python中追加列表?
EN

Stack Overflow用户
提问于 2018-06-11 08:12:33
回答 2查看 0关注 0票数 0

我试图格式化十进制(小数点到小数点),可能还有字符串。同时构建一个列表其中包含字典。我使用Python 3。

代码语言:txt
复制
class foo:
    def __init__(self):
        self.datalist = []

    def push_data(self, s1, int2, flt3):
        self.datalist.append({
            "s1": '%s',
            "int2": '%i',
            "dec3": '%0.2f'
        }) % (s1, int2, flt3)

    def print_data(self):
        print(self.datalist)


f = foo()
f.push_data("HelloWorld", 1, 3.1415)
f.print_data()

我想要这份清单

代码语言:txt
复制
[{'s1': 'HELLOWORLD', 'dec2': 1.00, 'dec3': 3.14}]

请记住,我不是尝试在ouput/print上格式化数据,但当数据被放置/附加到列表时。

EN

回答 2

Stack Overflow用户

发布于 2018-06-11 16:56:21

必须对每个字段分别设置格式:

代码语言:txt
复制
class foo:
    def __init__(self):
        self.datalist = []

    def push_data(self, s1, int2, flt3):
        self.datalist.append({
            "s1": '%s' % s1,
            "int2": '%i' % int2,
            "dec3": '%0.2f' % flt3
        })

    def print_data(self):
        return self.datalist


f = foo()
f.push_data("HelloWorld", 1, 3.1415)
f.print_data()

# [{'dec3': '3.14', 'int2': '1', 's1': 'HelloWorld'}]
票数 0
EN

Stack Overflow用户

发布于 2018-06-11 17:19:18

这可以在格式化每个元素时完成,而不是在所有项的末尾,这与你的代码相比是一个很小的更改,但它有效:

代码语言:txt
复制
class foo:
    def __init__(self):
        self.datalist = []
    def push_data(self, s1, int2, flt3):
        self.datalist.append({
            "s1": '%s' % s1,
            "int2": '%i' % int2,
            "dec3": '%0.2f' % flt3
        })
    def print_data(self):
        return self.datalist


f = foo()
f.push_data("HelloWorld", 1, 3.1415)
f.print_data()

结果是:

{‘S1’:‘Helloworld’,‘int 2’:‘1’,‘dec3’:‘3.14’}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档