字符串是Python基本数据结构——序列。索引、 切片、 相加、 相乘和成员资格检查等序列通用操作也适用于字符串
让某个符号不再表示某种含义, 而是表示另外一种含义。
反斜杠: \
转义字符表示某些字符用常规的方式不能在字符串中表示出来。如 \t、\n等。
每个字符都是原始含义的字符串,声明原始字符则在字符串开始加上字母“r”
>>> path = r"D:\python36" >>> path ‘D:\\python36‘
起止是 3 个单引号或 3 个双引号的字符串。在 Python 中,“三重引号” 之间的所有引号、 制表符或换行, 都被认为是字符串的一部分。
基本思路:对字符串调用方法format,并提供要设置其格式的值。
>>> "The number is {num:f}".format(num=42) ‘The number is 42.000000‘
# (列表)list_to_str.py ‘‘‘ 假定有下面这样的列表: spam = [‘apples‘, ‘bananas‘, ‘tofu‘, ‘cats‘] 编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项, 表项之间以逗号和空格分隔,并在最后一个表项之前插入 and。例如,将前面的 spam 列表传递给函数, 将返回‘apples, bananas, tofu, and cats‘。但你的函数应该能够处理传递给它的任何列表。 ‘‘‘ # 关键是先在列表倒数第二的位置添加‘and‘,再用字符串方法join,‘,‘join(seq)合并列表 # 仅能处理该题目,要处理任何列表有待改进 spam = [‘apples‘, ‘bananas‘, ‘tofu‘, ‘cats‘] def list_to_str(lis): lis.insert(-1, ‘and‘) lis=(‘ ‘).join(lis) # 注意两个单引号里面是有个英文空格 print(lis) return lis if __name__ == ‘__main__‘: list_to_str(spam)
# (字符串)右对齐打印矩阵.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)
原文:https://www.cnblogs.com/ydkh/p/14673088.html