如何使用String format()格式化输出

2024-09-28 03:24:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我打算用string.format格式()使输出更可读。 我有'姓名'和'生日'和'工资'栏。你知道吗

我得到了最宽的字符串'Name'(最宽的\u Name=5)和最宽的字符串'BirthDate'(最宽的\u BirthDate=16)。你知道吗

我的日期集:data_set = [["Dan", "August 8 1954", "50k"], ["Jason", "December 26 1984", "90k"], ...]

我想要一个字符串格式(.format()方法),你的名字和出生日期最宽。你知道吗

输出:

Name      BirthDate             Salary
Dan       August 8 1954         50k
Jason     December 26 1984      90k

我的代码:

print("{0: <widest_name }, {1: <widest_birthDate }, 'Salary'".format("Name", "BirthDate"))

for lists in data_set :
    print(lists[0], lists[1], lists[2])

但我有个错误:builtins.Value错误:无效的格式说明符


Tags: 字符串nameformatdata格式listsbirthdateprint
2条回答

在python3.6中可以使用f字符串。你知道吗

widest_name = 5
widest_birthdate = 16
print(f"{'Name':<{widest_name}} {'Birthdate':<{widest_birthdate}} Salary".format())
for lists in data_set:
    print(f"{lists[0]:<{widest_name}} {lists[1]:<{widest_birthdate}} {lists[2]}".format()

结果

Name  Birthdate            Salary
a     b                    c
d     e                    f
h     i                    l

不能直接在{}中写入变量。这是正确的格式。你知道吗

data_set = [["Dan", "August 8 1954", "50k"], ["Jason", "December 26 1984", "90k"]]
widest_name = 5
widest_birthDate = 16
print("{:<{width_name}} {:<{width_date}} {}".format("Name", "BirthDate","Salary",width_name=widest_name,width_date=widest_birthDate))
for lists in data_set :
    print("{:<{width_name}} {:<{width_date}} {}".format(lists[0], lists[1], lists[2],width_name=widest_name,width_date=widest_birthDate))


Name  BirthDate        Salary
Dan   August 8 1954    50k
Jason December 26 1984 90k

参考this。你知道吗

相关问题 更多 >

    热门问题