在 Python 中以表格格式打印字典

Python 中以表格格式打印字典:

  1. 使用格式化的字符串文字来打印标题。
  2. 遍历字典的项目并格式化每一行。
  3. 使用 print() 函数打印结果。
my_dict = {
    1: ['alice', 29],
    2: ['zadmei', 30],
    3: ['carl', 31],
}

headers = ['ID', 'Name', 'Age']

print(f'{headers[0]: <10}{headers[1]: <15}{headers[2]}')

# ID        Name           Age
# 1         alice          29
# 2         zadmei          30
# 3         carl           31
for key, value in my_dict.items():
    print(f'{key: <10}{value[0]: <15}{value[1]}')

在 Python 中以表格格式打印字典

我们使用格式化的字符串文字来格式化标题和行。

my_str = 'hi'

# 👇️ left-aligned
result = f'{my_str: <6}'
print(repr(result))  # 👉️ 'hi    '


# 👇️ right-aligned
result = f'{my_str: >6}'
print(repr(result))  # 👉️ '    hi'

冒号和小于号之间的空格是填充字符。

我们首先格式化并打印标题,然后遍历字典并打印每一行。

如果字典没有列表值,我们可以使用相同的方法以表格格式打印字典。

my_dict = {
    'id': 1,
    'name': 'zadmei',
    'age': 30
}

# id        1
# name      zadmei
# age       30
for key, value in my_dict.items():
    print(f'{key: <10}{value}')

如果我们需要将字典的键用作表中的标题,则可以使用相同的方法。


以表格式打印字典,键为标题

以表格格式打印字典:

  1. 使用 dict.keys() 方法获取字典键的视图并对其进行格式化。
  2. 遍历字典的项目并格式化每一行。
  3. 使用 print() 函数打印结果。
my_dict = {
    'id': [1, 'alice', 29],
    'name': [2, 'zadmei', 30],
    'age': [3, 'carl', 31],
}

headers = list(my_dict.keys())

print(
    f'{headers[0].capitalize(): <10}{headers[1].capitalize(): <15}{headers[2].capitalize()}')

# Id        Name           Age
# 1         alice          29
# 2         zadmei          30
# 3         carl           31
for _key, value in my_dict.items():
    print(f'{value[0]: <10}{value[1]: <15}{value[2]}')

我们使用 dict.keys() 方法来获取字典键的视图,并使用 f-string 来格式化标题。

dict.keys() 方法返回字典键的新视图。

my_dict = {'id': 1,  'name': 'zadmei'}

print(my_dict.keys())  # 👉️ dict_keys(['id', 'name'])

我们还使用 str.capitalize() 方法将每个键中的第一个字母大写,但这是可选的。

print('zadmei'.capitalize())  # 👉️ 'Zadmei'

print('fql'.capitalize())  # 👉️ 'Fql'

如果需要将每个键转换为大写,也可以使用 str.upper() 方法。