序列续
- 字典与集合
- 字典
- 创建
- 直接创建
- 空字典
- 通过zip函数
- 通过给定的键值对创建字典
- 访问字典
- print访问
- 遍历字典
- 添加字典元素
- 修改
- 删除
- 字典推导式
- 集合
- 创建
- 直接使用{}创建
- 使用set函数创建
- 增删元素
- 增
- 删
- 集合的交并差集
- 字符串
- 字符串编码转换
- 使用encode()方法编码
- 使用decode()方法解码
- 字符串常用操作
- 拼接字符串
- 计算字符串的长度
- 截取字符串
- 分割、合并字符串
- 检索字符串
- count()方法
- find()方法
- index()方法
- startwith
- endwith
- 字母的大小写转换
- 去除字符串中的空格和特殊字符
- 格式化字符串
- 1.使用%操作符
- 2.使用字符format方法
字典与集合
字典
以键值对存放内容的序列
其中键是不可变的,用元组的方式存储
值用列表存储,可变
创建
直接创建
dictionary={'key1':'value1'...}
空字典
dictionary={}
通过zip函数
dictionary=dict(zip(list1,list2))
通过给定的键值对创建字典
dictionary=dict(key1=value1......)
用framkeys()创建值为空的空字典dictionary=dict.fromkeys(list1)
访问字典
print访问
1
打印整个字典内容
print(dictionary)
2
访问某个键的值
print()dictionart[key]
通过if 语句防止报错
print(dictionary[key] if key in dictionary else ......)
3
dictionary.get(key,default)
default用于设置出错返回值
遍历字典
dictionary.items
for item in dictionary.items():
print(item)
print(key,value)
添加字典元素
dictionary[key]=value
修改
dictionary[key]=value
删除
del dictionary[key]
dictionary.clear()
字典推导式
>>> import random
>>> randomdict={i:random.randint(10,100) for i in range(1,5)}
>>> print(randomdict)
{1: 16, 2: 51, 3: 29, 4: 59}
集合
创建
直接使用{}创建
setname={element1,element2,element3...}
使用set函数创建
setname=set(可迭代对象)
空集合需用set()创建,因为空字典已经是用{}创建了
增删元素
增
setname.add(element)
删
del seetname全部删除
setname.remove()移除指定元素
setname.pop()随机删除一个元素
setname.clear()清空
集合的交并差集
符号 | 名称 |
& | 交集 |
| | 并集 |
- | 差集 |
字符串
字符串编码方式,GBK,GB3312,UTF-8
字符串编码转换
使用encode()方法编码
str.encode('encoding=',error="")
使用decode()方法解码
bytes.decode("encoding","error")
字符串常用操作
拼接字符串
使用+号相连,需都为字符串类型
计算字符串的长度
len函数不区分中文与英文,都认为是一个字符
除非需要计算字节数时,用encode方法len(str.encode('utf-8'))
默认为utf-8编码
截取字符串
string[start:end:step]
分割、合并字符串
1.分割
str.split(sep,maxsplit)
2.合并
str=string.join(iterable)
检索字符串
count()方法
str.count(sub,start,end)
检索出现的次数
find()方法
sub.find(sub,start,end)
返回第一次出现该字符的索引值
否则返回-1
index()方法
str.index(sub,start,end)
与find基本相同,返回索引值,当不存在时会报错
startwith
str.startwith(prefix,start,end)
判断是否以某个字符串开头
endwith
endwith同理判断是否以某字符串结尾
返回True与False
字母的大小写转换
str.lower()
str.upper()
去除字符串中的空格和特殊字符
1
strip()方法
str.strip(chars)
可指定多个字符,删除的是首尾的字符2
lstrip()方法
3
rstrip()方法
格式化字符串
1.使用%操作符
'%[-,+,0][m.n]格式化字符'%exp
0表示右对齐,且正数前方无符号
格式化字符如下
格式字符 | 说明 |
%s | 字符串(采用str表示) |
%c | 单个字符 |
%d或者%i | 十进制整数 |
%x | 十六进制整数 |
%f或者%F | 浮点数 |
%r | 字符串(采用repr()显示) |
%o | 八进制整数 |
%e | 指数(基底为e) |
%E | 指数(基底为E) |
%% | 字符% |
2.使用字符format方法
str.format(args)
args表示转换的模板{[index],:[fill],[<,>,=,^],[+,-,' '],[#],[m.n],type}
index:表示索引匹配,可不加
fill:表示占位的空位的填充方式
#:是否显示前缀
格式字符 | 说明 |
S或s | 字符串(采用str表示) |
c | 单个字符,将对应十进制整数转换成对应的unicode字符 |
d或者i | 十进制整数 |
X或x | 十六进制整数 |
f或者F | 浮点数 |
o | 八进制整数 |
E或e | 指数 |
% | 字符% |
b | 将十进制转化成二级制再显示 |
import math # 导入Python的数学模块
print('1251+3950的结果是(以货币形式显示):¥{:,.2f}元'.format(1251+3950)) # 以货币形式显示
print('{0:.1f}用科学计数法表示:{0:E}'.format(120000.1)) # 用科学计数法表示
print('π取5位小数点:{:.5f}'.format(math.pi)) # 输出小数点后五位
print('{0:d}的16进制结果是:{0:#x}'.format(100)) # 输出十六进制数
print('天才是由 {:.0%} 的灵感,加上 {:.0%} 的汗水 。'.format(0.01,0.99)) # 输出百分比,并且不带小数