day 9 - 字符串
01 字典相关操作
注意:字典不支持 + 、 - 、 * 、 > 、 < 、 >= 、 <=
1. in 和 not in
语法:键 in 字典 - 判断字典中是否存在指定的键
2. 相关函数
- sum、max、min、sorted 这些函数都支持字典 ,但是在操作的时候都是针对键
1)len
d1={'a':10,'b':20,'c':30}
print(len(d1)) # 3
2) 字典相关的类型转换
a. 将字典转换成其他容器 - 会将字典中所有的键作为新的序列中的元素
d1={'a':10,'b':20,'c':30}
print(list(d1)) # ['a', 'b', 'c']
b. 将字典转换成其他容器
dict( 数据 ) - 将指定数据转换成字典
数据的要求:
-
数据本身是一个序列;
-
序列中的元素必须是有且只有两个元素的小序列,并且第一个元素是不可变的;
-
键不能相同,否则转换不出。
list1=['ab','cd','12'] print(dict(list1)) # {'a': 'b', 'c': 'd', '1': '2'} list2=[(10,20),'ab',('c',30),(40,'d')] print(dict(list2)) # {10: 20, 'a': 'b', 'c': 30, 40: 'd'}
3. 字典相关方法
1)字典.clear( )
2) 字典.copy( )
3)items、keys、values
-
字典.keys( ) - 获取字典所有的键,以一个序列返回值
-
字典.values( ) - 获取字典所有的值,返回一个序列
-
字典.items( ) - 将字典中的键值对转换成一个元组,产生一个新的序列
d1={'a':10,'b':20,'c':30} print(d1.keys()) # dict_keys(['a', 'b', 'c']) print(d1.values()) # dict_values([10, 20, 30]) print(d1.items()) # dict_items([('a', 10), ('b', 20), ('c', 30)]) for keys,values in (d1.items()): print(keys,values) # a 10 b 20 c 30
4. 字典1. update(字典2) - 将字典2中所有的键值对都添加到字典1中
注意:字典2可以是任何能转换成字典的序列
d1={'a':10,'b':20,'c':30}
d2={'aa':100,'bb':200}
d1.update(d2)
print(d1)
# {'a': 10, 'b': 20, 'c': 30, 'aa': 100, 'bb': 200}
若:
d2=('da','eb')
d1.update(d2)
print(d1)
# {'a': 10, 'b': 20, 'c': 30, 'd': 'a', 'e': 'b'}
02 认识字符串
1. 什么是字符串(str)
-
是容器型数据类型;将( ’ ’ 、 ‘’ ‘’ 、 ‘’’ ‘’’ 或者 ‘’‘’‘’ ‘’‘’‘’ )作为容器的标志;
-
里面的每一个符号就是字符串中的每个元素,不可变(不支持增删改)
-
有序的(支持下标)
-
元素:引号中的每个独立的符号都是字符串中的元素,生活中的任何文字符号都可以作为字符串的元素。包括:数字、字母、中文、表情、各国语言等。
空串:str1=‘’ - 引号内什么都不能有,len(str1)为0。
- 引号中间有空格不是空串,因为空串也会算长度。
03 字符
1. 字符
- 字符串中的元素就叫字符
- 字符串的字符分为两类:普通字符和转义字符
1)普通字符 - 在字符串中表示符号本身的字符就是普通字符
2)转义字符 - 在字符串中表示的不是符号本身的字符
-
转义字符:在指定的符号前面加了一个 \ 就具备了特殊功能或者特殊意义的字符
str1='abc\n123' print(str1) # abc # 123
-
\n - 换行
-
\t - 水平制表符(按一个tab键),表示缩进
str3= '\t床前明月光,\n疑是地上霜'
print(str3)
# 床前明月光,
#疑是地上霜
-
\ ’ - 表示一个普通的单引号
-
\ ‘’ - 表示一个普通的双引号
-
\ \ - 表示一个普通的反斜杠
str1='It's me' # 报错
str2='It\'s me' # It's me
str3="It's me" # It's me
str4="1\'30\"" # 1分30秒
str5='C:\programs\test\abc\bin\deo.txt'
# C:\programs estbin\deo.txt
str6='C:\programs\\test\\abc\\bin\deo.txt'
# C:\programs\test\abc\bin\deo.txt
3)r字符串
- python 中的字符串的最前面可以加 r 或者 R ,来让字符串中所有的转义字符功能消失,让字符串中所有的字符都变成普通字符。
str5=r'C:\programs\test\abc\bin\deo.txt'
print(str5)
# C:\programs\test\abc\bin\deo.txt
2. 字符编码 - 将字符转换成数字然后再保存到计算机中
-
编码值 - 每一个文字符号都对应一个固定的数字,这个数字就是这个符号的编码值
-
编码表 - 保存每个符号和数字之间的对应的关系
ASCII编码表
Unicode编码表 (常用)