Python字符串格式化方法输出到控制台

news2024/9/20 20:43:38

python打印是这样的,我希望resource_id能够对齐输出:
在这里插入图片描述

3种格式化方法

%格式化

>>> pi=3.141592653589793
>>> e=2.718281828459045
>>> print("pi=%.2f e=%.3f" % (pi, e) )
pi=3.14 e=2.718

“”.format()格式化

>>> pi=3.141592653589793
>>> e=2.718281828459045
>>> print("pi={:.2f} e={:.3f}".format(pi, e))
pi=3.14 e=2.718

f-string格式化

>>> pi=3.141592653589793
>>> e=2.718281828459045
>>> print(f'pi={pi:.2f} e={e:.3f}')
pi=3.14 e=2.718

占位符的使用和对齐

在占位符中指定对齐方式、宽度和精度等格式。

左对齐、右对齐和居中对齐

  • 左对齐::
  • 右对齐::>width
  • 居中对齐::^width
name = "Alice"
formatted_string = "{:<10} is left-aligned".format(name)
print(formatted_string)

formatted_string = "{:>10} is right-aligned".format(name)
print(formatted_string)

formatted_string = "{:^10} is centered".format(name)
print(formatted_string)

指定宽度和精度

number = 123.456789
formatted_string = "{:.2f}".format(number)  # 保留两位小数
print(formatted_string)

formatted_string = "{:10.2f}".format(number)  # 总宽度为10,保留两位小数
print(formatted_string)

Python 的字符串格式化方法

要使 resource_id 对齐,可以使用 Python 的字符串格式化方法。以下是一个示例代码,展示如何使用字符串格式化来对齐输出:

data = [
    ("FieldA_2_0", 0.0, "5237aa80185eb4bc84af9d5b57c64562", "2024-06"),
    ("FieldA_3_0", 6913682.0, "c8f7cac5c6e85efd3690650dfcf598e6", "2024-06"),
    ("FieldA_4_0", 0.0, "cb5c0e991ba1bdc8ce5111a3cd50a878", "2024-06"),
    ("FieldA_5_0", 0.0, "gap-resource", "2024-06"),
    ("FieldB_0_1", 0.0, "4354", "2024-07"),
    ("FieldB_1_1", 27900000.0, "4769", "2024-07"),
    ("FieldA_0_1", 0.0, "0d9bbcf7c0f1e598d31031dca796337b", "2024-07"),
    ("FieldA_1_1", 0.0, "1b5f8e7771d12e3424542624805d8816", "2024-07"),
    ("FieldA_2_1", 0.0, "5237aa80185eb4bc84af9d5b57c64562", "2024-07"),
    ("FieldA_3_1", 4100000.0, "c8f7cac5c6e85efd3690650dfcf598e6", "2024-07"),
    ("FieldA_4_1", 0.0, "cb5c0e991ba1bdc8ce5111a3cd50a878", "2024-07"),
]

# Define the format string with fixed widths for alignment
format_str = "{:<30} = {:<10} resource_id={:<36}, month={}"

# Print each line with the specified format
for item in data:
    print(format_str.format(item[0], item[1], item[2], item[3]))

使用 pandas 库来处理和格式化数据

将需要格式化的数据存储到一个列表list中(若涉及多个字段,将多个字段打包为元组再append到list中即可),然后将list转为pandas的DataFrame即可。

solver_params = pywraplp.MPSolverParameters()
solver_params.SetDoubleParam(pywraplp.MPSolverParameters.RELATIVE_MIP_GAP, 1e-8)
solver_params.SetDoubleParam(pywraplp.MPSolverParameters.PRIMAL_TOLERANCE, 1e-8)
status = solver.Solve(solver_params)
result = []
if status == pywraplp.Solver.OPTIMAL:
    print("Solution:")
    print("Objective value =", solver.Objective().Value())
    for m in range(data["M"]):
        for c in range(data["ContractPngCount"]):
            result.append(
                (
                    "FieldB_{c}_{m}",
                    PurchasedPng[c, m].solution_value(),
                    data["ContractPngId"][c],
                    data["MonthList"][m],
                )
            )
        for l in range(data["ContractLngCount"]):
            result.append(
                (
                    "FieldC_{l}_{m}",
                    PurchasedLng[l, m].solution_value(),
                    data["ContractLngId"][c],
                    data["MonthList"][m],
                )
            )
        for i in range(data["IncrementalPngCount"]):
            result.append(
                (
                    "FieldA_{i}_{m}",
                    IncrementalPngPurchased[i, m].solution_value(),
                    data["IncrementalPngId"][i],
                    data["MonthList"][m],
                )
            )
        for j in range(data["IncrementalLngCount"]):
            result.append(
                (
                    "FieldD_{j}_{m}",
                    IncrementalLngPurchased[j, m].solution_value(),
                    data["IncrementalLngId"][i],
                    data["MonthList"][m],
                )
            )
    print(
        pd.DataFrame(result, columns=["Name", "Value", "Resource ID", "Month"]).to_string(
            index=False
        )
    )
else:
    print("The problem does not have an optimal solution.")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2035004.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统(线程管理-通过条件变量实现消费者与生产者模型)

生产者与消费者模型 生产者&#xff1a;生产数据的线程&#xff0c;这类的线程负责从用户端、客户端接收数据&#xff0c;然后把数据Push到存储中介。 消费者&#xff1a;负责消耗数据的线程&#xff0c;对生产者线程生产的数据进行&#xff08;判断、筛选、使用、响应、存储&…

x264 编码器 SSIM 算法源码分析

SSIM SSIM(Structural Similarity Index)是一种用于衡量两幅图像之间视觉相似度的指标。它不仅考虑了图像的亮度、对比度和饱和度,还考虑了图像的结构信息。SSIM的值介于-1到1之间,值越接近1表示两幅图像越相似。 SSIM是基于以下三个方面来计算的: 亮度(Luminance):比…

【Hot100】LeetCode—560. 和为 K 的子数组

目录 1- 思路前缀和 2- 实现⭐560. 和为 K 的子数组——题解思路 3- ACM 实现 原题链接&#xff1a;560. 和为 K 的子数组 1- 思路 前缀和 ① 借助 HashMap 存储前缀和&#xff1a;Key 为对应的前缀和&#xff0c;Value 为对应的出现次数 hm 初始化放入 (0,1) 代表和为 0 的情…

linux--chrony时间同步以及局域网同步

文章目录 注意Chrony介绍Chrony 支持的系统与联系方式Chrony Git 仓库环境准备服务端确认是否安装chrony如果没有安装&#xff0c;那就执行以下命令进行安装配置文件/etc/chrony.conf命令参数讲解基本用法选项命令系统时钟命令时间源命令NTP 访问命令执行命令参考 客户端确认是…

Java中等题-乘积最大子数组(力扣)

给你一个整数数组 nums &#xff0c;请你找出数组中乘积最大的非空连续 子数组 &#xff08;该子数组中至少包含一个数字&#xff09;&#xff0c;并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 示例 1: 输入: nums [2,3,-2,4] 输出: 6 解释: 子数组 […

Telemark电源TT-6E-BEAM SOURCE操作手侧含电路图接线

Telemark电源TT-6E-BEAM SOURCE操作手侧含电路图接线

详解LVS-dr模式

什么是LVS-dr模式 图解 在LVS-DR模式下&#xff0c;负载均衡器&#xff08;也称为调度器&#xff09;接收来自客户端的请求&#xff0c;并根据预设的调度算法将请求转发给后端的真实服务器&#xff08;也称为RS&#xff09;。真实服务器处理完请求后&#xff0c;直接将响应返回…

Jetpack Compose实战教程(六)

Jetpack Compose实战教程&#xff08;六&#xff09; 第六章 没有了margin&#xff0c;如何区分外边距&#xff1f;内边距&#xff1f; 文章目录 Jetpack Compose实战教程&#xff08;六&#xff09;一、前言二、本章目标三、开始编码3.1 特殊情况下的margin3.2 使用padding设…

基于Springboot+netty 的IM聊天室弹幕

代码地址 仓库地址 聊天室 创建springboot项目 因为我的NettyServer 是8080 所以我把服务端口改为了8081 引入netty 依赖 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.92.Final</versi…

Prometheus+Grafana保姆笔记(1)——Prometheus+Grafana的安装

Prometheus Grafana 的组合在微服务项目中可以完成许多DevOps任务&#xff0c;它们共同提供了强大的监控和可视化功能。 我们陆续介绍Prometheus Grafana 的相关用法。 首先介绍PrometheusGrafana的安装。 安装 Prometheus Prometheus 是GO写的&#xff0c;并不依赖于 Ja…

【深度学习】注意力机制(Transformer)

注意力机制 1.基础概念 1.1 查询、键和值 在人类的注意力方式中&#xff0c;有自主性的与非自主性的注意力提示两种解释方式。所谓自主性注意力提示&#xff0c;就是人本身主动想要关注到的某样东西&#xff1b;非自主性提示则是基于环境中物体的突出性和易见性&#xff0c;…

8.13面试题目

美团商业分析实习生 一、8个球有一个重一点&#xff0c;最少称几次找出 2次 8个球中有一个重一点&#xff0c;最少称2次能找出来。 具体称重步骤如下&#xff1a; 第一次称重&#xff1a;将8个球分成三组&#xff0c;分别为3个球、3个球和2个球。将两组各3个球放在天平的两端…

【搜索二维矩阵】python刷题记录

R4-二分查找专题 直接二维变一维&#xff0c;然后二分查找就可以了 class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:nums[i for row in matrix for i in row]def binfind(the,target):low,high0,len(the)-1while low<high:mid(l…

猫罐头挑选指南!猫咪肥胖有什么危害?健康主食罐挑选攻略!

今天有位铲屎官带着一只17斤的布偶来我们医院。猫猫三岁了&#xff0c;绝育两年&#xff0c;现在因为太胖了&#xff0c;舔毛都不太方便。铲屎官说它平时不太爱动。我给体检后发现甘油三酯高&#xff0c;其他都正常&#xff0c;但必须开始减肥了&#xff0c;猫咪太胖可不好。 一…

江协科技STM32学习笔记

第01章 STM32简介及开发环境搭建 1.1 STM32简介 1.1.1 STM32F103C8T6 系列&#xff1a;主流系列STM32F1 内核&#xff1a;ARM Cortex-M3 主频&#xff1a;72MHz RAM&#xff1a;20K&#xff08;SRAM&#xff09; ROM&#xff1a;64K&#xff08;Flash&#xff09; 供电…

开学季好物分享!全能抗打运动耳机!

大家好&#xff01;开学季来临&#xff0c;在学校的时候&#xff0c;一些运动和体育项目是在所难免的&#xff0c;但是在运动过程中肯定是枯燥无味的&#xff0c;所以这时候就需要一款合适的运动耳机陪伴我们。作为一名对运动耳机有较高要求的学生&#xff0c;我最近发现了一款…

配置jconsole远程监控

# 启动命令 -Djava.rmi.server.hostname192.168.0.67 #java程序所在机器ip -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port8011 #jconsole端口 -Dcom.sun.management.jmxremote.authenticatetrue # 配置为false 就不需要后面的password和access配置 -D…

普元EOS-用户、角色、权限的设计思路

1 前言 普元EOS作为企业应用开发&#xff0c;肯定要对用户、角色、权限这些内容进行管理&#xff0c;本文就描述这些内容EOS的设计思想&#xff0c;以及如何使用这些工具。 2 传统的访问权限控制 先说一个RBAC的概念&#xff0c;就是 Role-Based Access Control&#xff0c;中…

Java Web —— 第五天(请求响应2)

响应数据 ResponseBody 类型:方法注解、类注解 位置: Controller方法上/类上 作用:将方法返回值直接响应&#xff0c;如果返回值类型是 实体对象/集合&#xff0c;将会转换为JSON格式响应 说明: RestController Controller ResponseBody ; package com.example.springbo…

嘉实基金“青黄不接”:董事长赵学军被调查,明星经理基金绿油油

尚未实现“打造中国版的贝莱德”之梦&#xff0c;手握万亿资产管理规模的嘉实基金便“出事”了。 近日&#xff0c;嘉实基金在官网披露了一则临时公告&#xff0c;称其于2024年8月9日从相关方面获悉&#xff0c;该公司董事长赵学军因个人问题正配合有关部门调查。目前&#xf…