赞
踩
1.序列结构主要有:列表、元组、集合、字典、字符串
其中,集合和字典不支持索引、切片和相乘操作
访问序列中一定范围的元素
sname[start : end : step]
参数说明:
注:若要复制整个序列,中间冒号保留,如verse[:]
使用“+”将相同类型的序列进行连接,但不去除重复的元素
- num1 = [1,2,3]
- num2 = [one,tow]
- print(num1 + num2) #>>>[1,2,3,one,tow]
注:相同类型指同为列表、元组、字符串等,序列中的元素类型可以不同
- num1 = [1,2,3]
- print(num + "输出其和") #错误
- num = [1,2,3]
- print(num * 2) #>>>[1,2,3,1,2,3]
-
- enmpty = [None] * 3
- print(empty) #>>>[None,None,None]
语法:value in sequence
value即要检查的元素,sequence即指定的序列
返回值:True / False
长度:len()
最大值:max()
最小值:min()
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象(iterable)进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
list.sort() list = sorted()
语法: sorted(iterable, key=None, reverse=False)
参数说明:
返回重新排序的列表。
- sorted([5, 2, 3, 1, 4])
- #>>>[1, 2, 3, 4, 5] # 默认为升序
-
- #也可以使用 list 的 list.sort() 方法。这个方法会修改原始的 list(返回值为None)。通常这个方法
- #不如sorted()方便-如果不需要原始的 list,list.sort()方法效率会稍微高一些。
- a=[5,2,3,1,4]
- a.sort()
- print(a)
- #>>>[1,2,3,4,5]
-
- #利用key进行倒序排序
- example_list = [5, 0, 6, 1, 2, 7, 3, 4]
- result_list = sorted(example_list, key=lambda x: x*-1)
- print(result_list)
- #>>>[7, 6, 5, 4, 3, 2, 1, 0]
-
- #要进行反向排序,也通过传入第三个参数 reverse=True:
- example_list = [5, 0, 6, 1, 2, 7, 3, 4]
- sorted(example_list, reverse=True)
- #>>>[7, 6, 5, 4, 3, 2, 1, 0]

注:用 lambda 来创建匿名函数:
lambda [arg1 [,arg2,.....argn]]:expression
- sum = lambda num1, num2: num1 + num2
-
- # 调用sum函数
- print "相加后的值为 : ", sum( 10, 20 )
- print "相加后的值为 : ", sum( 20, 20 )
-
- #>>>相加后的值为 : 30
- #>>>相加后的值为 : 40
- # 字符串
- seqString = 'Runoob'
- print(list(reversed(seqString)))
-
- # 元组
- seqTuple = ('R', 'u', 'n', 'o', 'o', 'b')
- print(list(reversed(seqTuple)))
-
- # range
- seqRange = range(5, 9)
- print(list(reversed(seqRange)))
-
- # 列表
- seqList = [1, 2, 4, 3, 5]
- print(list(reversed(seqList)))
-
-
-
- #>>>['b', 'o', 'o', 'n', 'u', 'R']
- #>>>['b', 'o', 'o', 'n', 'u', 'R']
- #>>>[8, 7, 6, 5]
- #>>>[5, 3, 4, 2, 1]

enumerate(sequence, [start=0]) start -- 下标起始位置
- >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
- >>> list(enumerate(seasons))
- [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
- >>> list(enumerate(seasons, start=1)) # 小标从 1 开始
- [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
-
- #普通的 for 循环
- i = 0
- seq = ['one', 'two', 'three']
- for element in seq:
- print(i, seq[i])
- i += 1
- #>>>0 one
- #>>>1 two
- #>>>2 three
-
- #for 循环使用 enumerate
- seq = ['one', 'two', 'three']
- for i, element in enumerate(seq): # i为索引,element为元素值,seq为序列名称
- print(i, element)
- #>>>0 one
- #>>>1 two
- #>>>2 three
'运行
https://blog.csdn.net/m0_73809176/article/details/127971868?spm=1001.2014.3001.5501
https://blog.csdn.net/m0_73809176/article/details/127972422?spm=1001.2014.3001.5501
ASCLL码:仅对10个数字、26个大写英文字母、26个小写英文字母,以及一些其他符号进行了编码;(美国标准信息交换码,最早的字符串编码)
GBK、GB2312:是我国制定的中文编码标准,1个字节表示英文字母,2个字节表示中文字符
UTF-8:国际通用编码,1个字节表示英文字母,3个字节表示中文
在Python中,有两种常用的字符串类型,分别为str 和bytes 。其中,str表示Unicode字符(ASCLL或者其他);bytes表示二进制数据(包括编码的文本)。这两种类型的字符串不能拼接在一起用。通常情况下,str在内存中一Unicode表示,一个字符对应若干个字节。但是如果在网络上传输,或者保存在磁盘上,就需把str转换为字节类型即bytes类型。
用于将字符串转换为二进制数据(即bytes),也称“编码”
语法:str.encode([encoding = "utf-8"][,errors = "strict"])
str:要进行转换的字符串
encoding = "utf-8" :可选参数,用于指定进行转码时采用的字符编码,默认为UTF-8
errors = "strict":可选参数,用于指定错误处理方式,其可选择值可以是strict(默认)(遇到非法字符就抛出异常)、ignore(忽略非法字符)、replace(用“?”替换非法字符)或xmlcharrefreplace(使用XML的字符引用)等
decode()用于将二进制数据转换为字符串,也称“解码”
bytes.decode([encoding = "utf-8"][,errors = "strict"])
中间不会留空格,相同类型拼接
len(string)
- str1 = '人生苦短,我用Python!'
- len1 = len(str1) #包括“,”、“!”
- len2 = len(str1.encode()) #计算UTF-8编码的字符串的长度
- print(len1) #>>>14
- print(len2) #>>>28 汉字加中文标点符号共7个,占21个字节,英文字母和英文标点符号占7个字节
语法:str.split(sep,maxsplit)
sep:用于指定分隔符,可以包含多个字符,默认为None,即所有空字符(包括空格、换行符“\n”、制表符“\t”等)
maxsplit:可选参数,用于指定分割的次数,若不指定或者为-1,则分割次数没有限制,否则返回结果列表的元素个数最多为maxsplit+1
注:若不指定sep,那么也不能指定maxsplit参数
- str1 = "我 的 目 标 是 卷 王 >>> kuai.le.xue.xi"
- print("原字符串:",str1)
- list1 = str1.split() #采用默认分隔符进行分割
- list2 = str1.split(">>>") #采用多个字符进行分割
- list3 = str1.split(".") #采用“.”号进行分割
- list4 = str1.split(" ",4) #采用空格进行分割,并且只分割前4个
- print(str(list1)+"\n"+str(list2)+"\n"+str(list3)+"\n"+str(list4))
-
- """
- 原字符串: 我 的 目 标 是 卷 王 >>> kuai.le.xue.xi
- ['我', '的', '目', '标', '是', '卷', '王', '>>>', 'kuai.le.xue.xi']
- ['我 的 目 标 是 卷 王 ', ' kuai.le.xue.xi']
- ['我 的 目 标 是 卷 王 >>> kuai', 'le', 'xue', 'xi']
- ['我', '的', '目', '标', '是 卷 王 >>> kuai.le.xue.xi']
- """
语法:newstr = string.join(iterable)
将string加入到iterable后面
- str1 = "我的目标是卷王 "
- newstr = "@".join(str1)
- print(newstr) #>>>我@的@目@标@是@卷@王@
'运行
语法:str.count(sub[,start[,end]])
str :原字符串
sub: 要检索的子字符串
start:起始位置的索引;end:结束位置的索引
- str1 = "我的目标是卷王 "
- newstr = "@".join(str1)
- print(newstr) #>>>我@的@目@标@是@卷@王@
-
- print(newstr.count("@") #>>>7
- print("字符串@符号首次出现的位置索引是:",newstr.find("@"))
- #>>>字符串@符号首次出现的位置索引是:1
-
- print("判断字符串是否以@符号开头:",newstr.startswith("@"))
- #>>>判断字符串是否以@符号开头:False
'运行
str.find(sub[,start[,end]])
注:若只想判断指定的字符串是否存在,则用关键字“in”。如:print("@"innewstr),若存在就返回True,否则返回False
语法:str.index(sub[,start[,end]])
注:rindex()方法,作用与index()方法相似,只不过从右边开始查找
语法:str.startswith(sub[,start[,end]])
语法:str.endswith(sub[,start[,end]])
str.lower() ABC --> abc
str.upper() abc --> ABC
这里的特殊字符是指制表符\t、回车符\r、换行符\n等
语法:str.strip([chars])
chars: 可选参数,用于指定要去除的字符,可以指定多个
- str1 = " .@我爱卷.@.@. \n\r"
- print(str1.strip()) #>>>.@我爱卷.@.@. 去除字符串首尾的空格和特殊字符
- print(str1.strip(".")) #>>> .@我爱卷.@.@. 注:字符串首是一个空格
- str2 = ".@我爱卷.@.@."
- print(str2.strip(".")) #>>>@我爱卷.@.@
'运行
语法:str.lstrip([chars])
语法:str.rstrip([chars])
语法:"%[-][+][0][m][.n]格式化字符"%exp
参数说明:
- :可选参数,用于指定左对齐,正数2,负数-2(例子啊!)
+ :可选参数,用于指定右对齐,正数+2,负数-2
0 :可选参数,表示右对齐,正数+2,负数-2,用0填充空白处(一般与m参数一起使用)
m :可选参数,表示占有宽度
.n : 可选参数,表示小数点后保留的位数
格式化字符:用于指定类型,其值如下:
%s --字符串(采用str()显示) %r -- 字符串(采用repr()显示) %c -- 单个字符
%o -- 八进制整数 %d或者%i -- 十进制整数 %e / %E -- 指数(基底写e/E)
%x -- 十六进制整数 %f / %F -- 浮点数 %% -- 字符%
exp : 要转换的项
- tem = "编号:%09d\t公司名称: %s\t官网: http://www.%s.com" #定义模板
- contex = (7,"百度","baidu")
- print(tem % contex)
- #>>>编号:000000007 公司名称: 百度 官网: http://www.baidu.com
- #注:09代表右对齐,用0填充空白处,占位9个宽度 d表示%d,十进制整数 \t制表符
'运行
语法:str.format(args)
str 用于指定字符串的显示样式(模板)用“{}”和“:”指定占位符,
格式:{[index][:[[fill]align][sign][#][width][.precision][type]]}
index : 可选参数,索引位置
fill:可选参数,用于指定空白处填充的字符
align:可选参数,用于指定对齐方式(值为“<”表示内容左对齐;“>”表示内容右对齐;“=”表示内容右对齐,将符号放在内容的最左侧,且只对数字类型有效;“^”表示内容居中对齐),需要配合width一起使用
sign:可选参数,用于指定有无符号数(值为“+”表示+2,-2;值为“-”表示2,-2;值为空格表示正数加空格,负数加负号)(这的2是举的例子)
#:可选参数,对于二、八、十六进制,若加上#表示会显示0b/0o/0x前缀,否则不显示
width:可选参数,表示占有宽度
.precision:可选参数,用于指定小数点后保留的位数
type:可选参数,用于指定类型,其值如下:
S -- 对字符串类型格式化 b -- 将十进制-->二进制表示再格式化
D -- 十进制整数 o -- 将十进制-->八进制表示再格式化
C -- 将十进制-->Unicode字符 x / X -- 将十进制-->十六进制表示再格式化
e / E -- 转换为科学计数法表示再格式化 f / F -- 转换为浮点数表示再格式化
g / G --自动在e和f或者E和F中切换 % -- 显示百分比
args用于指定要转换的项
https://blog.csdn.net/m0_73809176/article/details/127984059?spm=1001.2014.3001.5501
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。