3.11学习笔记
复习
一、字典
’‘’
1.增、改
字典[key] = 值
2.删
1)dele.字典[key]
2)字典.pop[key]
3.in,not in,length
4.相关方法
clear,copy等(自行查阅)
‘’‘
二、集合
‘’‘
[元素1,元素2,…… ]
可变,无序
元素:不可变量,唯一的
2.遍历
#add,update
#remove
3.数学集合运算
&,|,^,-
‘’’
新知识点
一、字符串
1.认识
’‘’
字符是容器型数据类型
每一个符号是一个元素
‘’‘
2.特点
不可变:不支持增删改;有序
元素(字符):字符串中的元素
3.普通字符,转义字符,编码字符
1)转义字符:在特定的符号前加 \让符号具备特定的意义
\n—换行,相当于return
\t—水平制表,相当于Tab键(四个空格)
\'
—一个单引号
\"
—双引号
\\
—表示反斜杠
2)编码字符:\u+四位的16进制编码值
print(’a\u0061’)
#aa
判断文字类型:
c=‘好’
print(’\u4e00
’ <= c <= ‘\u9fa5
’)
四位的16进制数编码时对应的字符
3)字符编码:机存数字的二进制补码,文本符号不能直接保存,为了让计算机存储符号,给每个符号对应固定的数字,该数字为编码值
4)编码表:记录每个符号对应的编码;
a. Unicode(是ASCII的扩展;包含所有语言符号;知道中文范围: 4e00~9fa5)
b. ASCII(记数字,大小写字母)
注:
四种进制:二进制、八进制、十进制、十六进制
a.基数:基本组成单元;进位;位权:与位置有关
二进制:0-1,逢二进一,2的次方 ,前缀:0b/0B
八进制:0-7,逢八进一,8的次方 ,前缀:0o/0O
十进制:0-9,逢十进一,10的次方
十六进制:0-9、A-F(可大写也可小写),逢十六进一,16的次方,前缀为:0X/0x
b.进制间的转换
4.编码相关的函数
a. chr(编码值)—获取指定编码对应的字符,返回的类型是字符串
print(chr(97)) # a
print(chr(0x4e00)) # 一
print(chr(0x4e01)) # 丁
for x in range(0x4e00,0x9fa5+1):
print(chr(x),end=’ ')
print()
b. ord(字符)—获取字符编码值(字符用长度是1的字符串表示)
print(hex(ord(‘余’))) # 20313
print(hex(ord(‘婷’))) # 23159
#写一个程序将输入的小写字母字符转换成对应的大写字母
p=‘z’
code=ord§-32
print(chr(code))
1.查—获取字符
#字符串获取字符的方法和列表获取元素的方法一样
str1=‘python’
print(str1[1]) # ‘y’
print(str1[-1]) # ‘n’
str2='abc\n123
’
print(shr2[4]) #1
print(str1[2:]) #‘thon’
print(str1[1:-1:2
]) # ‘yh’
2.相关操作
#1)+、*
str5=str2+’=’+str32)
#2)==、!=
print(‘abc’==‘abc’) #Ture
print(‘abc’==‘bac’) #False
#<、>、>=、<=
#两个字符串比较大小,比较的是第一对不相等的字符的编码值的大小
’‘’
判断字符是否是小写字母:‘a’ <= ord(char) <= ‘z’
判断字符是否是大写字母:‘A’ <= ord(char) <= ‘Z’
判断字符是否是字母:‘a’ <= ord(char) <= ‘z’ or ‘A’ <= ord(char) <= ‘Z’
判断是否是数字字符:’0‘ <= char <=‘9’
判断是否是中文字符:‘0x4e00’ <= char <=‘0x9fa5’
‘’‘
str6=‘abc’
str7=‘XYZMN’
print(str6>str7) #Ture
#统计字符串中数字字符的个数
str0 = 'jsj28海事局389sjj--3sskk9jj'
count = 0
for x in str0:
if '0' <= x <='9':
count +=1
print('数字的个数:', count)
#练习:提取字符中所有的中文字符
#str1=‘aj好231-数据–2啊’
new_str=’ ’
for x in str1:
if ‘\u4e00
’ <= x <= ‘\u9fa5
’
print(x,end’ ')
#3)in和not in
#字符in字符串—判断字符串中是否存在指定的字符
字符串1 in 字符串2—判断字符2中是否存在字符串1(判断字符串1是否是字符串2的字串)
#4)
#a. max、min、sorted
b. str
str(数据)—将指定数据转换成字符串(所有类型的数据都可以转换成字符串;转换的时候直接在数据的打印纸外面加引号)
str(100) #‘100’
str([100,200]) #’[100,200]’
str({‘a’:10,‘b’:20}) #"{‘a’:10,‘b’:20}"
c.len—获取字符串中字符的个数(注意转义字符,一个转义字符的长度为1)
print(len(’\tabc\n123
’)) # 8
print(len(’\\tabc\n123
’)) # 9
#3.r语法
字符串前面加r\R,能够让字符串中所有转义字符 的功能消失,字符串中的每个符号都是普通字符
4.字符串的方法(40种)
1)字符串1.count(字符串2) —返回字符串1中字符串2出现的次数
2)字符串.join(序列)—将序列中的元素用指定的字符串拼接产生一个新的字符串(序列中的元素必须是字符串)
#练习:
nums=[10,20,30,25,6] ->102030256
nums=[10,20,30,25,6]
#方法一
result=’’
for x in nums:
result +=str(x)
print(result)
#方法二
result=’’.join([str(x) for x in nums])
print(result)
3)字符串.split(字符串2)—将字符串1中所有字符串2作为切割点对字符串1进行切割,返回的是列表
字符串1.split(字符串2 N)—N控制切割次数
str1=‘abc’+123+xyz+mn’
result=str1.split(’+’)
print(result) #[‘abc’,‘123’,‘xyz’,‘mn’]
#切割点连续或者切割点在边界,切割完成后会产生空串
4)字符串1.replace(字符串2,字符串3)—将字符串1中的字符串2全部替换成字符串3