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

猜你喜欢

转载自www.cnblogs.com/maplethefox/p/10817101.html