如何在python中将字符串和小数附加到列表时设置格式
我试图格式化十进制(到2个小数点)和可能的字符串,同时构建一个包含听写的列表。我正在使用Python3 这是我想到的,但显然它不起作用(因此提出了这个问题。) 我想让名单上包括如何在python中将字符串和小数附加到列表时设置格式,python,python-3.x,list,dictionary,formatting,Python,Python 3.x,List,Dictionary,Formatting,我试图格式化十进制(到2个小数点)和可能的字符串,同时构建一个包含听写的列表。我正在使用Python3 这是我想到的,但显然它不起作用(因此提出了这个问题。) 我想让名单上包括 [{'s1': 'HELLOWORLD', 'dec2': 1.00, 'dec3': 3.14}] 请记住,我不是试图格式化输出/打印上的数据,而是将数据放置/附加到列表中 提前感谢。您必须单独设置每个字段的格式: class foo: def __init__(self): self.dat
[{'s1': 'HELLOWORLD', 'dec2': 1.00, 'dec3': 3.14}]
请记住,我不是试图格式化输出/打印上的数据,而是将数据放置/附加到列表中
提前感谢。您必须单独设置每个字段的格式:
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'}]
您必须单独设置每个字段的格式:
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'}]
这可以在格式化每个元素时完成,而不是在所有项目的末尾,这是对代码的一个小更改,但它可以工作:
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','int2':'1','dec3':'3.14'}]
这可以在格式化每个元素时完成,而不是在所有项目的末尾,这是对代码的一个小更改,但它可以工作:
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','int2':'1','dec3':'3.14'}]
我相信这就是你想要的
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):
return self.datalist
f = foo()
f.push_data("HelloWorld", 1, 3.1415)
f.print_data()
产生
[{s1:HelloWorld,int2:1,dec3:3.14}]
我相信这就是你想要的
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):
return self.datalist
f = foo()
f.push_data("HelloWorld", 1, 3.1415)
f.print_data()
产生
[{s1:HelloWorld,int2:1,dec3:3.14}]
如果你创建一个例子,你会得到更多更好的答案。尤其要确保输入和预期的测试数据是完整的(不是伪数据),并且可以很容易地剪切和粘贴到编辑器中,以允许测试建议的解决方案。这是由TypeError产生的错误:不支持%的操作数类型:'NoneType'和'tuple'@Stephernauch奇怪这怎么不是“最小、完整和可验证”示例?请解释您的批评和建议的改进,以便我们都能从“更好的答案”中受益“。谢谢。当我留下评论时,没有任何迹象表明你期望的结果是什么。你在留言后编辑了这个问题。我道歉@stephernauch。祝福。如果你创建一个例子,你会得到更多更好的答案。尤其要确保输入和预期的测试数据是完整的(不是伪数据),并且可以很容易地剪切和粘贴到编辑器中,以允许测试建议的解决方案。这是由TypeError产生的错误:不支持%的操作数类型:'NoneType'和'tuple'@Stephernauch奇怪这怎么不是“最小、完整和可验证”示例?请解释您的批评和建议的改进,以便我们都能从“更好的答案”中受益“。谢谢。当我留下评论时,没有任何迹象表明你期望的结果是什么。你在留言后编辑了这个问题。我道歉@stephernauch。这不是我想要的,因为这只是在列表中创建一个字符串元素。注意,我在列表条目项中指定了一个字典。虽然格式看起来很相似,但它不是字典,而是一个简单的单引号字符串。啊,对于误解,我深表歉意,我很难理解您问题的意图:)这不是我想要的,因为这只是在列表中创建一个字符串元素。注意,我在列表条目项中指定了一个字典。虽然格式看起来很相似,但它不是一本字典,而是一个简单的单引号字符串。啊,我为误解道歉,我很难理解你问题的意图:)谢谢。我知道这是解决我错误的简单方法。非常感谢。我知道这是解决我错误的简单方法。