python字典和字符串文本处理

字典一直是python可迭代对象里面一直记不住的东西,今天我再次奢侈一把。把它记录一下

可迭代对象

简单的理解是可以用for循环的对象,就是可迭代对象。比如:list,字符串,dict,元组,生成器等

可变类型和不可变类型

麻烦方法:用 id(X) 函数,对 X 进行某种操作,比较操作前后的 id,如果不一样,则 X 不可变,如果一样,则 X 可变。
便捷方法:用 hash(X),只要不报错,证明 X 可被哈希,即不可变,反过来不可被哈希,即可变。

字典的定义

字典 是无序的 键:值(key:value)对集合,键必须是互不相同的(在同一个字典之内)。

dict 内部存放的顺序和 key 放入的顺序是没有关系的。
dict 查找和插入的速度极快,不会随着 key 的增加而增加,但是需要占用大量的内存。

字典 定义语法为 {元素1, 元素2, …, 元素n}

其中每一个元素是一个「键值对」-- 键:值 (key:value)
关键点是「大括号 {}」,「逗号 ,」和「冒号 :」
大括号 -- 把所有元素绑在一起
逗号 -- 将每个键值对分开
冒号 -- 将键和值分开

创建字典 设置默认

可以用
a={}
a=dict()
创建空列表
或者
a={key1:value1,key2:value2}
其中value是唯一不可变的,value是可变的且不唯一的 value可以不填 然后为默认值
a.setdefault()
可以设置默认值
a={“key1”:“value1”,“key2”:“value2”}
b=a[“key1”]
或b=a.get(“key1”, default=None)

则b为value1

内置方法也可以创建dict.fromkeys(seq[, value])

获取全部的key

a={“key1”:“value1”,“key2”:“value2”}
list(a.keys())

list(a)
返回
[‘key1’, ‘key2’]

获取全部的value

a={“key1”:“value1”,“key2”:“value2”}
list(a.values())
返回
[‘value1’, ‘value2’]

获取全部的(key,value)

a={“key1”:“value1”,“key2”:“value2”}
list(a.items())
返回

[(‘key1’, ‘value1’), (‘key2’, ‘value2’)]

加入另外的字典内容

a.update(b)
可以理解为
a=a+b

关于POP

dict.pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key 值必须给出。若key不存在,则返回 default 值
del dict[key] 删除字典给定键 key 所对应的值。

文本

内置方法:

capitalize() 将字符串的第一个字符转换为大写。
lower() 转换字符串中所有大写字符为小写。
upper() 转换字符串中的小写字母为大写。
swapcase() 将字符串中大写转换为小写,小写转换为大写。
endswith(suffix, beg=0, end=len(string)) 在指定范围内检查是否以某字符串结尾。
startswith(substr, beg=0,end=len(string)) 在指定范围内检查是否以某字符串开始
find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end,则检查是否包含在指定范围内,如果包含,返回开始的索引值,否则返回 -1。
rfind(str, beg=0,end=len(string)) 类似于 find() 函数,不过是从右边开始查找。
isnumeric() 判断是否只有数字字符
自动左补齐和右补齐
ljust(width[, fillchar])
rjust(width[, fillchar])
replace()替换
split()分割
lstrip([chars])删除最左边的某个字符默认为" "
rstrip([chars])删除最右边的某个字符默认为" "
str5.strip()删除最左右边的某个字符默认为" "

字符串格式化

str8 = “{0} Love {1}”.format(‘I’, ‘Lsgogroup’) # 位置参数
print(str8) # I Love Lsgogroup

str8 = “{a} Love {b}”.format(a=‘I’, b=‘Lsgogroup’) # 关键字参数
print(str8) # I Love Lsgogroup

str8 = “{0} Love {b}”.format(‘I’, b=‘Lsgogroup’) # 位置参数要在关键字参数之前
print(str8) # I Love Lsgogroup

str8 = ‘{0:.2f}{1}’.format(27.658, ‘GB’) # 保留小数点后两位
print(str8) # 27.66GB

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值