如何用Python的f-strings实现词性居中对齐的格式化打印?
使用Python F-strings实现词性与单词精准居中对齐
要实现词性精准居中对应在单词正上方、单词间仅保留一个空格的效果,可按以下步骤操作:
- 先准备好一一对应的单词列表和词性列表
- 利用f-string的居中格式化语法
{内容:^{宽度}},让每个词性在对应单词长度的宽度范围内居中 - 分别将格式化后的词性字符串、原始单词用空格拼接成两行,依次打印即可
代码示例
# 定义单词和对应词性的列表 words = ["Hello", "beautiful", "world"] pos_tags = ["int.", "adj.", "n."] # 生成词性行:每个词性在对应单词长度的宽度内居中,再用空格连接 pos_line = ' '.join([f"{tag:^{len(word)}}" for tag, word in zip(pos_tags, words)]) # 生成单词行:直接用空格连接单词 word_line = ' '.join(words) # 打印结果 print(pos_line) print(word_line)
输出效果
int. adj. n. Hello beautiful world
如果遇到单词长度短于词性长度的情况,f-string会直接返回原词性字符串;若需要强制居中,可手动指定更大的宽度值(比如把len(word)替换为固定数值max(len(word), len(tag)))。
内容的提问来源于stack exchange,提问作者petrashin_nikita
相关产品推荐
相关产品推荐

