Python:用Python打印?
我想以特定格式打印列表的内容: 以下是我希望它看起来的样子:Python:用Python打印?,python,string,list,Python,String,List,我想以特定格式打印列表的内容: 以下是我希望它看起来的样子: [ "Zara", 3.2 ], [ "Maxwell", 3.3 ], [ "Norman", 3.1 ] 我不知道如何实现这个输出。现在,我将列表中的各个元素作为字符串,其格式为(“\”“+n
[
"Zara",
3.2
],
[
"Maxwell",
3.3
],
[
"Norman",
3.1
]
我不知道如何实现这个输出。现在,我将列表中的各个元素作为字符串,其格式为(“\”“+name+”“\”+,\n“+grade”)。但是,我不知道如何实现适当的缩进和括号来打印列表。我应该每次手动打印一个[and],还是有办法将所有元素编译成一个列表,其中调用print list将产生上述输出?我可以手动设置括号的格式,但这会在最后一个括号后面留下逗号,这是我不想要的。任何帮助都将不胜感激 你可以用。假设您有如下列表:
>>> import json
>>> grades = [['Zara', 3.2], ['Maxwell', 3.3], ['Norman', 3.1]]
>>> print(json.dumps(grades, indent=4))
[
[
"Zara",
3.2
],
[
"Maxwell",
3.3
],
[
"Norman",
3.1
]
]
for i, item in enumerate(my_list):
print_list_item(item, i == len(my_list)-1)
这与您所追求的非常接近,没有编码工作,字符串本身也没有转义引号。如果您不喜欢外括号,则可以单独打印每个列表:
>>> print(*(json.dumps(grade, indent=4) for grade in grades), sep=',\n')
[
"Zara",
3.2
],
[
"Maxwell",
3.3
],
[
"Norman",
3.1
]
只是想澄清一下,您有一个包含列表元素的列表吗?内部元素总是一个字符串,你想用引号和数字来打印吗? 您可以定义一个子函数
def print_list_item(item, last_item):
print "["
print ' "' + item[0] + '",'
print ' ' + str(item[1]) + ','
if last_item:
print "]"
else:
print "],"
(注意,我使用单引号来有效地“转义”双引号字符)
然后可以按如下方式打印列表:
>>> import json
>>> grades = [['Zara', 3.2], ['Maxwell', 3.3], ['Norman', 3.1]]
>>> print(json.dumps(grades, indent=4))
[
[
"Zara",
3.2
],
[
"Maxwell",
3.3
],
[
"Norman",
3.1
]
]
for i, item in enumerate(my_list):
print_list_item(item, i == len(my_list)-1)
你也可以用printf来解决这个问题 json.dumps()方法具有参数,可以更容易地读取结果:
import json
# some JSON:
x = [['Zara', 3.2], ['Maxwell', 3.3], ['Norman', 3.1]]
# parse x:
y = json.loads(x, indent=4)
用于定义缩进数的缩进参数。打印('[\n“{},\n{}\n]'.format(name,grade)]的可能重复项。如果这是一个好问题并且得到了回答,则应保留在此处,以便其他人找到答案。如果这是一个糟糕的问题,它应该被删除。将问题内容更改为“已回答”是不可接受的。感谢您的帮助!第一次调用没有在我的字符串中注册换行符。该列表包含如下格式的字符串:(“\”+名称+“\”+,\n“+等级)。您建议的第一个调用打印字符串,如:“\”Zara\“,\n3.2n”@ReefRashid:如果您将我显示的代码粘贴到Python解释器中,您将看到我上面显示的输出与您所需的输出匹配。输入是否相同,即是否使用列表列表?