Python基础知识—容器类型
Posted maplethefox
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础知识—容器类型相关的知识,希望对你有一定的参考价值。
容器类型
一.通用操作
1.数学运算符
+:用于拼接两个容器
+=:用原容器与右侧容器拼接,并重新绑定变量
*:重复生成容器元素
*=:用原容器生成重复元素, 并重新绑定变量
< <= > >= == !=:依次比较两个容器中元素,一但不同则返回比较结果。
2.成员运算符
语法:
数据 in 序列
数据 not in 序列
作用:如果在指定的序列中找到值,返回bool类型。
# 成员运算 str01 = "我叫苏大强" print("大苏" in str01) #False print("苏大" in str01) #True
3.索引index
作用:访问容器元素
语法:容器[整数]
说明:
正向索引从0开始,第二个索引为1,最后一个为len(s)-1。
反向索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)。
str01 = "我叫苏大强" print(str01[1]) #叫 print(str01[-1]) #强
4.切片slice
作用:从容器中取出相应的元素重新组成一个容器。
语法:容器[(开始索引):(结束索引)(:(步长))]
说明:
小括号()括起的部分代表可省略
结束索引不包含该位置元素
步长是切片每次获取完当前元素后移动的偏移量
str01="我叫苏大强" print("01"+str01[0:3]) # 我叫苏(取前3个元素) print("01"+str01[2:5]) # 苏大强(取第2位到第4位的元素) print("01"+str01[2:]) # 苏大强(取从第2位以后的元素:) str02="我叫苏大强" # 开始索引:默认为头 print("02"+str02[:3]) # 我叫苏 # 结束索引:默认为尾 print("02"+str02[2:]) # 苏大强 # 获取全部 str03="我叫苏明玉" print("03"+str03[:]) # 我叫苏明玉 print("04"+str03[::2]) # 我苏玉(从头到尾隔位输出) print("04"+str03[::-1]) # 玉明苏叫我(从尾到头 倒着输出) print("04"+str03[-2:-4:-1]) # 明苏(取倒数第2位到倒数第3位倒数的值) print("04"+str03[3:1:-1]) # 明苏(取第3位到第2位倒数的值) # 可以同时使用正向和反向索引值 str04="我叫苏明玉" print(str04[3:-4:-1]) # 明苏(取第3位到倒数第4位倒数的值)#倒数只要能数到结束值就可以
#错误案例 str02="我叫苏明玉" # print(str02[1:1])# 空(开始索引和结束索引不能相同) # print(str02[3:1])# 空(步数默认值为1,开始索引的位置需小于结束索引的位置) # print(str02[-2:1])# 空
5.内建函数
len(x) 返回序列的长度
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素
sum(x) 返回序列中所有元素的和(元素必须是数值类型)
二.字符串 str
1.定义:由一系列字符组成的不可变序列容器,存储的是字符的编码值。
2.编码:
字节byte:计算机最小存储单位,等于8 位bit.
字符:单个的数字,文字与符号。
字符集(码表):存储字符与二进制序列的对应关系。
编码:将字符转换为对应的二进制序列的过程。
解码:将二进制序列转换为对应的字符的过程。
编码方式:
--ASCII编码:包含英文、数字等字符,每个字符1个字节。
--GBK编码:兼容ASCII编码,包含21003个中文;英文1个字节,汉字2个字节。
--Unicode字符集:国际统一编码,旧字符集每个字符2字节,新字符集4字节。
--UTF-8编码:Unicode的存储与传输方式,英文1字节,中文3字节。
相关函数
bin(整数) :将整数转换为二进制字符串
ord(字符串):返回该字符串的Unicode码
chr(整数):返回该整数对应的字符串
s01 = "b" # 字 --> 数 num01 = ord(s01) print(num01) # 98 num02 = 97 # 数 --> 字 s02 = chr(num02) print(s02) # a
3.字面值
单引和双引号的区别
1.单引号内的双引号不算结束符
2.双引号内的单引号不算结束符
单双引号只支持一行
三引号作用
换行会自动转换为换行符\\n
三引号内可以包含单引号和双引号
作为文档字符串
# 双引号 name01 = "苏大强" # 单引号 name02 = ‘苏大强‘ # 三引号:可见即所得 name03 = ‘‘‘苏大强‘‘‘ name04 = """ 苏 大 强 """ # 单引号内的双引号不算结束符 message = ‘我叫"苏大强".‘
转义字符
1.改变字符的原始含义。
\\’ \\” \\””” \\n \\\\ \\t \\0 空字符
2.原始字符串:取消转义。
a = r”C:\\newfile\\test.py”
字符串格式化
定义:生成一定格式的字符串。
语法:字符串%(变量)
"我的名字是%s,年龄是%s" % (name, age)
# 字符串格式化 num01, num02 = 1, 2 # 需求:在字符串中,插入变量. # 做法1:字符串拼接 s01 = "请计算" + str(num01) + " + " + str(num02) + " = ?" # 做法2:占位符 # %d 占位符 s01 = "请计算%s+%d=?" % (num01, num02)
类型码:
%s 字符串 %d整数 %f 浮点数
格式:
%[- + 0 宽度.精度]类型码 # print("%.2f"%(3.1415)) .后面接几位数就保留几位小数
- : 左对齐(默认是右对齐)
+ : 显示正号
0 : 左侧空白位置补零
宽度 : 整个数据输出的宽度
精度 : 保留小数点后多少位
print("我%d你"%(5)) # 我5你 print("我%-3d你"%(5)) # 我5 你 print("我%03d你"%(5)) # 我005你 print("%.2f"%(1.2355)) # 1.24
以上是关于Python基础知识—容器类型的主要内容,如果未能解决你的问题,请参考以下文章