如果数字为1位数,则预先打印空格

时间:2019-02-10 20:19:44

标签: python python-3.x

因此,我有一个数字列表,这些数字根据用户输入而变化。例如,假设我的列表为[26, 13, 51, 46, 9, 15]。我正在使用print(" ".join(str(e) for e in mylist))打印它们时不使用逗号和括号,并且在两者之间留有空格。我想做的是在一个数字之前(如果是一位数字或在10以下)打印2个空格。因此,我希望给出的示例的输出为26 13 51 46 9 15。我该怎么办?

3 个答案:

答案 0 :(得分:4)

您可以使用正义:

'hi'.rjust(3)
' hi'

print(' '.join(str(e).rjust(2) for e in mylist))

答案 1 :(得分:2)

您可以使用字符串格式:

print(" ".join("{:2d}".format(e) for e in mylist))

此外,由于" ".join函数的默认sep=' 'print可以用拆包代替:

print(*("{:2d}".format(e) for e in mylist))

答案 2 :(得分:1)

这就是您想要的吗?

main_window = tk.Tk()
var=tk.StringVar()
var.set("Hello World")
label_text = tk.Label(main_window, textvariable=var)

def on_after():
    var.set("Hello ") # set the StringVar instead of configuring the label.

label_text.grid(column=1, row=1)
label_text.after(3000, on_after)
main_window.mainloop()