• Python字符串


    1. 字符串概述

      字符串是Python基本数据结构——序列。索引、 切片、 相加、 相乘和成员资格检查等序列通用操作也适用于字符串

    2. 字符串相关术语

    2.1 转义

      让某个符号不再表示某种含义, 而是表示另外一种含义。

    2.2 转义符

      反斜杠: \

    2.3 转义字符

      转义字符表示某些字符用常规的方式不能在字符串中表示出来。如 \t、\n等。

    2.4 原始字符

      每个字符都是原始含义的字符串,声明原始字符则在字符串开始加上字母“r”

    >>> path = r"D:\python36"
    >>> path
    'D:\\python36'

    2.5 多行字符串

      起止是 3 个单引号或 3 个双引号的字符串。在 Python 中,“三重引号” 之间的所有引号、 制表符或换行, 都被认为是字符串的一部分。

    3. 格式化字符串

      基本思路:对字符串调用方法format,并提供要设置其格式的值。

    >>> "The number is {num:f}".format(num=42)
    'The number is 42.000000'

    4. 字符串常用方法及代码实践(源自《Python编程快速上手  让繁琐工作自动化》)

    # (字符串)右对齐打印矩阵.py
    
    '''
    编写一个名为 printTable()的函数, 它接受字符串的列表的列表,将它显示在组织良好的表格中, 每列右对齐。
    假定所有内层列表都包含同样数目的字符串。例如,该值可能看起来像这样:
    tableData = [['apples', 'oranges', 'cherries', 'banana'],
    ['Alice', 'Bob', 'Carol', 'David'],
    ['dogs', 'cats', 'moose', 'goose']]
    你的 printTable()函数将打印出:
      apples Alice  dogs
     oranges   Bob  cats
    cherries Carol moose
      banana David goose
    '''
    
    # 意思是将这个3行4列的嵌套列表中的每列元素(纵向),横向(排列)换行打印出来
    # 因为要求打印出来的每列字符(即每个列表中的字符)右对齐,所以要先确定每个列表中的最长字符串长度,再调用右对齐rjust()方法并传入最长字符串的长度
    
    tableData = [['apples', 'oranges', 'cherries', 'banana'],
    ['Alice', 'Bob', 'Carol', 'David'],
    ['dogs', 'cats', 'moose', 'goose']]
    
    
    def printTable(strlist):
        colWidth = [0]*len(strlist)   # 初始化“列宽度”,col即column为列的意思
        for i in range(len(strlist)): # 先迭代矩阵长度,即迭代每个列表
            for j in range(len(strlist[0])): # 迭代每列,即迭代每个列表长度,此处可用strlist[0],因为是一个矩阵
                if len(strlist[i][j]) > colWidth[i]:    # strlist[i][j] 即先[1][1],[1][2],[1][3],[1][4],再[2][1]、[2][2]、[2][3]、[2][4],即逐行比较
                       colWidth[i] = len(tableData[i][j])
        count = 0
        for i in range(len(strlist[0])): # 先迭代每个列表的元素个数,即将打印出来的行数,
            for j in range(len(strlist)): # 再迭代矩阵长度,即将打印出来的列数
                       print(strlist[j][i].rjust(colWidth[j]), end=' ') #仍然取决先迭代的i,即先将先跌代的标量按顺序先迭代完 strlist[j][i] 即先打印[1][1],[2][1],[3][1]再[1][2]、[2][2],[3][2]即横向打印列
                       count+=1
                       if count%len(strlist) == 0:
                           print('')
                                             
    
    if __name__ == '__main__':                                          
        printTable(tableData)

     

    作者:南宫恨

    正是江南好风景,落花时节又逢君

  • 相关阅读:
    一个简单的Python字符串处理文件
    hexo + Github 搭建问题综述
    node scripts/install.js 停顿解决办法
    Mac下安装hexo Error: Cannot find module './build/Release/DTraceProviderBindings 解决
    Python学习札记(三十八) 面向对象编程 Object Oriented Program 9
    Python学习札记(三十七) 面向对象编程 Object Oriented Program 8 @property
    比较两个目录的文件是否相同
    python Polygon模块安装
    ls操作总结
    导入其他python文件或者python文件的函数
  • 原文地址:https://www.cnblogs.com/ydkh/p/14673088.html
Copyright © 2020-2023  润新知