字典
基本概念
- 字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度
- 键(key)必须使用不可变类型
- 同一个字典中,键(key)必须是唯一的
- 字典的每个键值key=>value对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{}中,格式如下所示:
(dic={key1:value1,key2:value2})
常用方法
方法 | 描述 |
---|---|
keys() | 返回字典中键的列表 |
values() | 返回字典中值得列表 |
items() | 返回tuples的列表,每个tuple由字典的键和相应值组成 |
clear() | 删除字典中的所有条目 |
copy() | 返回字典高层结构的一个拷贝,但不复制嵌入结构,而只复制对那些结构的应用 |
update(x) | 用字典中的键值对更新字典内容 |
get(x[,y]) | 返回键x,若未找到该键返回none,若提供y,则未找到x时返回y |
字典键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一
dict = { ' a ' : 1, ' b ' : 2, ' b ' : ' 3 '}
dict[ ' b ']
输出:' 3 '
dict
输出: { ' a ' : 1, ' b ' : ' 3 '}
创建字典:基础语法方法
- 字典中值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组(如:dict = { 'Alice ': '2112 ',‘beth’:‘3434’,‘Cecil’:‘5665’})
- 也可这样创建字典
(如:dict1={‘abc’:234}
dict2={‘abc’:123,98.6:37} )
创建字典:dict函数
- 使用dict函数,通过其他映射(比如字典)或者(键,值)序列对创建字典
items=[('name','Charry'),('age',42)]#方括号代表列表,圆括号代表里边有两个元组,每个元组有两个元素,这两个元素转换时就变为了键和值
d=dict(items)
print(d)
输出:{‘name’:'Charry','age':42}
- dict函数也可以通过关键字参数来创建字典
d=dict(name=‘Charry',age=42)
print(d)
输出:{'name':'Charry','age':42}
字典元素修改、添加与删除
- 当以指定“键”为下标为字典元素赋值时,有两种含义:1、若改键存在,表示修改该键对应的值;2、若不存在,表示添加一个新元素
- 使用字典对象的update()方法可以将另一个字典的元素一次性全部添加到当前字典对象,如果两个字典中存在相同的键,则以另一个字典中的值为准对当前字典进行更新
sock = { ' Ip ': '192.168.1.1 ', 'port ': 80}
scok.update({ ' Ip ': '192.168.1.1 ','protocol ':'TCP '})
print(sock)
输出:{ ' Ip ': '192.168.1.1 ', 'port ': 80',protocol ' : ' TCP '}
- 可以使用字典对象的pop()删除指定“键”对应的元素,同时返回对应的“值”
- popitem()方法用于删除字典的一个键对,并返回一个包含两个元素的元组,其中的两个元素分别是字典元素的键和值
- 也可以使用del删除指定的值对应的元素
集合
概述
- Python集合是无序、可变的容器对象,所有元素放在一对大括号中,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,不允许重复
- 集合中只能包含数字、字符串、元组等不可变类型的数据,而不能包含列表、字典、集合等可变类型的数据,包含列表等可变类型数据的元组也不能作为集合的元素
- 集合中的元素是无序的,元素存储顺序和添加顺序并不一致
- 集合不支持使用下标直接访问特定位置上的元素,也不支持使用random中的choice()函数从集合中随机选取元素,但支持使用random模块中的sample()函数随机选取部分元素
set(集合)
- set和dict类似,也是一组key的集合,但不存储value。在set中,没有重复的key。
- set是无序的
集合常用方法
- s.add(x):将元素x添加到集合s中,如果元素已存在,则不进行任何操作
- s=update(x):将x的元素添加到集合s中,x可以是列表、元组、字典等
- s.pop(x):随机删除集合中的一个元素
- s.remove(x):将元素x从集合s中移除,如果元素不存在,则会发生错误
- s.discord(x):将元素x从集合s中移除,如果元素不存在,不会发生错误
data = { 30,40,50}
字符串
概述
- 字符串是用双引号或者单引号括起来的一个或多个字符
- 字符串可以保存在变量中,也可以单独存在
- 字符串属于不可变对象,所有方法都是返回处理后的字符串或者字节串,不对原字符串进行任何修改
- 可以用type()函数测试一个字符串类型
- 字符串是一个字符序列:字符串最左端位置标记为0。从最右端为-1
转义
- Python语言转义符:.在字符串中进行转义,表示该字符\与后面相邻的一个字符共同组成了一个新的含义
- 输出带有引号的字符串,可以使用转义符
print("\"你好\"")
输出:"你好”
字符串操作
- 单个索引辅助访问字符串中的特定位置
str1="Hello,world"
print(str1[1])
- Python中字符串索引从0开始,一个长度为L的字符串最后一个字符为L-1
- Python同时允许使用负数从字符串右边末尾位置向左边进行反向索引,最右侧索引是-1
- 可以通过两个索引值确定一个位置范围,返回这个范围的子串(< string >[ < start>:< end >]
- start和end都是整数型数值,这个子序列从索引start开始直到索引end结束(不包括end位置)
- 字符串可以通过+或*进行连接
加法操作将两个字符串连接成为一个新的字符串
乘法操作生成一个尤其本身字符串重复连接而成的字符串
x in x:如果x是s的子串,返回true,否则返回false
str[N:M]:切片,返回子串
- len()函数能返回一个字符串的长度
- 大多数数据类型都可以通过str函数转换为字符串
- 可以通过for和in组成的循环来遍历字符串中每个字符
字符串处理方法
< string >.upper():字符串中字母大写
< string >.lower():字符串中字母小写
< string >.strip():去除两边空格及去除指定字符
< string >.split():按指定字符分割字符串为数组
< string >.join():连接两个字符串序列
< string >.find():搜索指定字符串
< string >.replace:字符串替换
< string >.capitalize:句首大写
< string >.title:每个单词首字母大写
< string >.swapcase:大写转换为小写,小写转换为大写
< string >.startswitch()\endswitch():检查字符串是否是以指定字符串substr开头或结束,是则返回True
for < var> in < string >:字符串迭代
replace(str1,str2,[,max]):把将字符串中的str1替换成str2,如果max指定,则替换不超过max次
maketrans():创建字符映射的转换表
translate(str):根据str给出的映射转换表转换string字符
ljust(width[,fillchar]):返回一个原字符串左对齐,并使用fillchar填充至长度width的新字符串,fillchar默认为空格。rjust()、center()类似
table = ’ '.maketrans(‘0123456789’, ’ 零一二三四伍六七八九 ')
print( ‘Tel:654111’.translate(table))
输出:六伍四一一一
print('居左 '.ljust(20)+‘结束’)
print(‘居右 ‘.rjust(20,’#’))
print(‘居中 ‘.center(20.’=’))
输出
居左(由于csdn设置,居左和结束之间空20格)结束
####################居右
居中(csdn设置,居中左右两边各10个=)
来源:CSDN
作者:teletubbies-c
链接:https://blog.csdn.net/weixin_43717681/article/details/104064439