Python复习笔记之三

字典与集合

字典

以键值对存放内容的序列
其中键是不可变的,用元组的方式存储
值用列表存储,可变

创建

直接创建

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))  # 输出百分比,并且不带小数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值