在 Python 中一行打印字典
Print a dictionary in one line in Python
要在一行中打印字典:
- 将字典的项目格式化为字符串。
- 使用该
str.join()
方法将字符串连接成一个字符串。 - 使用
print()
函数打印字符串。
主程序
my_dict = {'id': 1, 'name': 'bobbyhadz', 'salary': 50} # ✅ print dictionary in one line result = ', '.join(f'{key}: {value}' for key, value in my_dict.items()) print(result) # 👉️ id: 1, name: bobbyhadz, salary: 50 # -------------------------------------------- # ✅ print dictionary with each key-value pair on a separate line result = '\n'.join(f'{key}: {value}' for key, value in my_dict.items()) # id: 1 # name: bobbyhadz # salary: 50 print(result)
我们使用该str.join()
方法在一行中打印字典。
我们将生成器表达式传递给该str.join()
方法。
主程序
my_dict = {'id': 1, 'name': 'bobbyhadz', 'salary': 50} result = ', '.join(f'{key}: {value}' for key, value in my_dict.items()) print(result) # 👉️ id: 1, name: bobbyhadz, salary: 50
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们使用格式化字符串文字将键和值格式化为字符串。
格式化字符串文字 (f-strings) 让我们通过在字符串前加上f
.
主程序
var1 = 'bobby' var2 = 'hadz' result = f'{var1}{var2}' print(result) # 👉️ bobbyhadz
确保将表达式括在大括号 –{expression}
中。
str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
调用该方法的字符串用作元素之间的分隔符。
我们使用逗号和空格分隔符来连接格式化字符串,但您可以使用任何其他分隔符。
主程序
my_dict = {'id': 1, 'name': 'bobbyhadz', 'salary': 50} result = ' | '.join(f'{key}: {value}' for key, value in my_dict.items()) print(result) # 👉️ id: 1 | name: bobbyhadz | salary: 50
如果您需要在单独的行中打印每个键值对,请使用换行符 ( \n
) 作为分隔符。
主程序
my_dict = {'id': 1, 'name': 'bobbyhadz', 'salary': 50} result = '\n'.join(f'{key}: {value}' for key, value in my_dict.items()) # id: 1 # name: bobbyhadz # salary: 50 print(result)
或者,您可以使用该str.format()
方法。
主程序
my_dict = {'id': 1, 'name': 'bobbyhadz', 'salary': 50} result = ', '.join('{}: {}'.format(key, value) for key, value in my_dict.items()) print(result) # 👉️ id: 1, name: bobbyhadz, salary: 50
str.format方法
执行字符串格式化操作。
主程序
first = 'Bobby' last = 'Hadz' result = "Employee name: {} {}".format(first, last) print(result) # 👉️ "Employee name: Bobby Hadz"
调用该方法的字符串可以包含使用花括号指定的替换字段{}
。
确保为该format()
方法提供的参数与字符串中的替换字段一样多。
您选择哪种方法是个人喜好的问题。我会使用格式化字符串文字,因为它们更易于阅读。