Python如何打印无花括号圆括号的字典并给正整数值添加+号
解决方案
你可以通过条件判断对数值做符号处理,以下是可行代码:
适配你给出的输出样例(元组第一个值不添加+号,第二个值按规则处理)
for k, v in sorted_league.items(): second_val = f"+{v[1]}" if v[1] > 0 else str(v[1]) print(k, v[0], second_val, sep=' ')
通用方案(元组内所有值都遵循「正数加+、0和负数保留原符号」规则)
如果后续元组长度不固定,或者需要对所有数值做统一符号处理,可以用自定义格式化函数实现:
def format_num(num): if num > 0: return f"+{num}" return str(num) for k, v in sorted_league.items(): formatted_vals = [format_num(n) for n in v] print(k, *formatted_vals, sep=' ')
逻辑说明
- 三元表达式
f"+{n}" if n>0 else str(n)会自动识别数值符号,正数前拼接+号,0和负数直接转字符串保留原有格式,完全匹配你的需求。 - 不需要额外引入第三方库,原生Python语法即可实现。
内容的提问来源于stack exchange,提问作者user4516038
相关产品推荐
相关产品推荐

