首页 > 编程语言 >[Python手撕]文本左右对齐

[Python手撕]文本左右对齐

时间:2024-09-29 10:47:46浏览次数:7  
标签:count index level Python len words 对齐 文本

class Solution:
    def fullJustify(self, words: List[str], maxWidth: int) -> List[str]:

        def findlen(level):
            count = 0
            for l in level:
                count += len(l)
            return count

        n = len(words)
        levels = []
        level = []
        index = 0
        while index < n:
            if len(level) == 0 and len(words[index]) <= maxWidth:
                level.append(words[index])
                index += 1
            elif len(level) + findlen(level) + len(words[index]) <= maxWidth:
                level.append(words[index])
                index += 1
            else:
                levels.append(level)
                level = []

        levels.append(level)

        res = []
        for i in range(len(levels)):
            temp = ""
            length = len(levels[i])
            if length == 1:
                temp += levels[i][0]
                for _ in range(maxWidth - len(levels[i][0])):
                    temp += " "
                res.append(temp)
            elif i == len(levels) - 1:
                for j in range(length):
                    temp += levels[i][j]
                    if j != length - 1:
                        temp += " "
                while len(temp) < maxWidth:
                    temp += " "
                res.append(temp)
            else:

                block_num = maxWidth - findlen(levels[i])
                blocks = [0] * (length - 1)
                index = 0
                while block_num:
                    blocks[index] += 1
                    block_num -= 1
                    index += 1
                    if index == len(blocks):
                        index = 0

                for j in range(length):
                    temp += levels[i][j]
                    if j < length - 1:
                        for _ in range(blocks[j]):
                            temp += " "

                res.append(temp)

        return res

标签:count,index,level,Python,len,words,对齐,文本
From: https://www.cnblogs.com/DCFV/p/18439111

相关文章

  • Python量化分析2024年最新整理的免费获取股票数据接口集合以及API数据接口说明文档
    ​近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据......
  • Python3开启自带http服务
    有时候需要在局域网的电脑之间传送一些东西,或者在虚拟机之间传送一些东西。如果电脑上有安装了Python的话,其实非常方便,可以临时搭建一个HTTP服务器传送东西,一句命令就搞定了。而且这东西本身是Python内置的功能。1.基本方式Python中自带了简单的服务器程序,能较容易地打开服务......
  • Python近红外光谱数据分析
    ChatGPT4入门1、ChatGPT概述(GPT-1、GPT-2、GPT-3、GPT-3.5、GPT-4模型的演变)2、ChatGPT对话初体验3、GPT-4与GPT-3.5的区别,以及与国内大语言模型(文心一言、星火等)的区别4、ChatGPT科研必备插件(DataInterpreter、Wolfram、WebPilot、MixerBoxScholar、ScholarAI、ShowMe......
  • 如何用Python的Seaborn库绘制17个超好看图表!
    Seaborn简介定义Seaborn是一个基于matplotlib且数据结构与pandas统一的统计图制作库。Seaborn框架旨在以数据可视化为中心来挖掘与理解数据。优点代码较少图形美观功能齐全主流模块安装pip命令安装从github安装流程导入绘图模块提供显示条件导入数据设......
  • python从exe里得到ico图标
    说到exe那就是windows程序了,python调用win32api需要先安装https://github.com/mhammond/pywin32/releases转化成ico有2种,一种是pyqt5另存图片换个文件名,这个可能不太专业,第2种是PythonMagickhttps://download.lfd.uci.edu/pythonlibs/w3jqiv8s/PythonMagick-0.9.19-cp37-cp37......
  • JMeter调用python脚本
    JMeter调用python脚本前提具备python环境具备jdk环境一、编写python脚本python脚本如下:importrandom#随机一个1~100的随机数print(random.randint(1,100))二、使用BeanShell取样器调用python脚本Stringcommand="pythonD:\\apache-jmeter-5.5\\bin\\test.py"......
  • python学习-python对文件的操作
    Python文件操作指南一、文件的打开与关闭(一)打开文件在Python中,可以使用内置的open()函数来打开文件。它接受文件名和模式作为参数,并返回一个文件对象。基本语法:file=open(file_name,mode)file_name:要打开的文件的名称,可以是相对路径或绝对路径。mode:打开文件的......
  • Python对数据库(MySQL,redis、MongoDB)的操作
    Python对数据库的操作(MySQL,redis、MongoDB)一、操作MySQL数据库安装pymysql:需要通过pipinstallpymysql进行安装。查询数据:fetchone、fetchmany(n)、fetchall()importpymysql#建立mysql连接,ip、端口、用户名、密码(passwd,不能写成其他,例如:pwd或者p,否则报错)、库名con......
  • python内置模块typing里Literal函数的基本用法和总结--快速学习掌握Literal函数的用法
    Literal是Pythontyping模块中提供的一种类型注解,用于指定变量或函数的参数只能取特定的字面量值(常量)。它允许你将变量的取值严格限制在指定的一组值内,确保程序只接受特定的常量值,从而减少错误的发生。一、基本概念在Python中,通常我们会使用常见的类型注解来限制变量......
  • 【Python脚本】路径管理之pathlib
    在Python的pathlib模块中,Path类和PurePath类是用于处理文件和目录路径的两个主要类.它们具有不同的目的和功能,以下是它们的主要异同点:类的继承关系:Path类继承自PurePath,因此Path类拥有PurePath的所有方法.不同点:PurePath类:纯路径对象:PurePath类及其子类(如Pure......