序列续

  • 字典与集合
  • 字典
  • 创建
  • 直接创建
  • 空字典
  • 通过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))  # 输出百分比,并且不带小数