Day05

字符串

1、如果字符串中需要出现单引号或双引号,可以使用转义符号\对字符串中的符号进行转义

原始字符串只需要在字符串前边加一个英文字母 r 即可。

2、字符串的切片与拼接

  • 类似于元组具有不可修改性
  • 从 0 开始 (和 Java 一样)
  • 切片通常写成 start:end 这种形式,包括「start 索引」对应的元素,不包括「end索引」对应的元素。
  • 索引值可正可负,正索引从 0 开始,从左往右;负索引从 -1 开始,从右往左。使用负数索引时,会从最后一个元素开始计数。最后一个元素的位置编号是 -1。

3. 字符串的常用内置方法

  • capitalize() 将字符串的第一个字符转换为大写。

  • lower() 转换字符串中所有大写字符为小写。
  • upper() 转换字符串中的小写字母为大写。
  • swapcase() 将字符串中大写转换为小写,小写转换为大写。

  • count(str, beg= 0,end=len(string)) 返回str在 string 里面出现的次数,如果beg或者end指定则返回指定范围内str出现的次数。

  • endswith(suffix, beg=0, end=len(string)) 检查字符串是否以指定子字符串 suffix 结束,如果是,返回 True,否则返回 False。如果 beg 和 end 指定值,则在指定范围内检查。
  • startswith(substr, beg=0,end=len(string)) 检查字符串是否以指定子字符串 substr 开头,如果是,返回 True,否则返回 False。如果 beg 和 end 指定值,则在指定范围内检查。注意:区分大小写
  • find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end,则检查是否包含在指定范围内,如果包含,返回开始的索引值,否则返回 -1。
  • rfind(str, beg=0,end=len(string)) 类似于 find() 函数,不过是从右边开始查找。
  • isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False。
  • ljust(width[, fillchar])返回一个原字符串左对齐,并使用fillchar(默认空格)填充至长度width的新字符串。
  • rjust(width[, fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度width的新字符串。

  • lstrip([chars]) 截掉字符串左边的空格或指定字符。
  • rstrip([chars]) 删除字符串末尾的空格或指定字符。
  • strip([chars]) 在字符串上执行lstrip()rstrip()

  • partition(sub) 找到子字符串sub,把字符串分为一个三元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回('原字符串','','')
  • rpartition(sub)类似于partition()方法,不过是从右边开始查找。

  • replace(old, new [, max]) 把 将字符串中的old替换成new,如果max指定,则替换不超过max次。

  • split(str="", num) 不带参数默认是以空格为分隔符切片字符串,如果num参数有设置,则仅分隔num个子字符串,返回切片后的子字符串拼接的列表。
  • splitlines([keepends]) 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数keepends为 False,不包含换行符,如果为 True,则保留换行符。

  • maketrans(intab, outtab) 创建字符映射的转换表,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
  • translate(table, deletechars="") 根据参数table给出的表,转换字符串的字符,要过滤掉的字符放到deletechars参数中。

4. 字符串格式化

  • Python 字符串格式化符号
符 号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串,用str()方法处理对象
%r 格式化字符串,用rper()方法处理对象
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g 根据值的大小决定使用%f或%e
%G 作用同%g,根据值的大小决定使用%f或%E

这里的内容有点多,大家有个印象就好,用的时候,可以再查 

  • 格式化操作符辅助指令
符号 功能
m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
- 用作左对齐
+ 在正数前面显示加号( + )
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格

字典

1. 可变类型与不可变类型

  • 序列是以连续的整数为索引,与此不同的是,字典以"关键字"为索引,关键字可以是任意不可变类型,通常用字符串或数值。
  • 字典是 Python 唯一的一个 映射类型,字符串、元组、列表属于序列类型
  • 这里有点绕,主要意思是字典中key是不能变的,所以如果通过如下图片中所示,比如加法后id变了,证明这个i=1和i=3是不同的变量,也就是证明了i这个变量是不可变的。

那么如何快速判断一个数据类型 X 是不是可变类型的呢?两种方法:

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

  • 整数 i 在加 1 之后的 id 和之前不一样,因此加完之后的这个 i (虽然名字没变),但不是加之前的那个 i 了,因此整数是不可变类型。
  • 列表 l 在附加 'Python' 之后的 id 和之前一样,因此列表是可变类型。

  • 数值、字符和元组 都能被哈希,因此它们是不可变类型。
  • 列表、集合、字典不能被哈希,因此它是可变类型。

2. 字典的定义

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

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

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

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

3. 创建和访问字典

  • dict() 创建一个空的字典。
  • dict(mapping) new dictionary initialized from a mapping object's (key, value) pairs
  • dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2)

4. 字典的内置方法

  • dict.fromkeys(seq[, value]) 用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

  • dict.keys()返回一个可迭代对象,可以使用 list() 来转换为列表,列表为字典中的所有键。
  • dict.values()返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。
  • dict.items()以列表返回可遍历的 (键, 值) 元组数组。
  • dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回默认值。
  • dict.setdefault(key, default=None)get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
  • key in dict in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回true,否则返回false。而not in操作符刚好相反,如果键在字典 dict 里返回false,否则返回true
  • dict.pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key 值必须给出。若key不存在,则返回 default 值。
  • del dict[key] 删除字典给定键 key 所对应的值。
  • dict.popitem()随机返回并删除字典中的一对键和值,如果字典已经为空,却调用了此方法,就报出KeyError异常。
  • dict.clear()用于删除字典内所有元素。
  • dict.copy()返回一个字典的浅复制。
  • dict.update(dict2)把字典参数 dict2 的 key:value对 更新到字典 dict 里。

python05-字符串和字典相关推荐

  1. Python 将字符串转为字典

    引言 在工作中遇到一个小问题,需要将一个 Python 的字符串转为字典,比如字符串: user_info = '{"name" : "john", " ...

  2. python 字符串转字典,字典转字符串 Expecting property name enclosed in double quotes

    dict1 = {'a': 1, 'b': 2, 'c': 3, 4: 'd', 5: 'e'} 字典转字符串 import jsonstr1 = json.dumps(dict1) str1 '{& ...

  3. iOS开发JSON字符串和字典互转

    1.相关属性简述 NSJSONReadingOptions读取属性: typedef NS_OPTIONS(NSUInteger, NSJSONReadingOptions) {NSJSONReadi ...

  4. python3 字符串 列表 字典 转换

    1.字符串转列表 str1 = "12345" list1 = list(str1) print list1 str2 = "123 sjhid dhi" li ...

  5. Python---将一字符串转换为字典,并按词语出现的频率由高到低进行排列。

    题目: 将一字符串转换为字典,并按词语出现的频率由高到低进行排列 . 源代码如下: import re x = input('请输入:') #将输入内容转换为字符串类型 x_str1 = str(x) ...

  6. 字符串根据字典值排序问题

    字符串根据字典值排序问题,就是指对给定的字符串,按照首字母的字典值排序,如果首字母相同的字符串,则按照第二个字母,依次内推,比如说 {"dog","dear", ...

  7. python字符串/列表/字典互相转换

    字符串与列表 字符串转列表 1.整体转换 str1 = 'hello world' print(str1.split('这里传任何字符串中没有的分割单位都可以,但是不能为空')) # 输出:['hel ...

  8. python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  9. python把字符串放到列表_python中for循环把字符串或者字典添加到列表的方法

    python中如何for循环把字符串添加到列表? 实例: 1.单个字符串用for循环添加到列表中: # 把L1中的字符串添加到列表alist里面 L1 = 'MJlifeBlog' alist = [ ...

  10. python 字典字符串转字典——urllib.request.Request发送get,post请求,发送json参数

    1.eval方法即可[字典字符串转字典] file_content = eval(file_content) 2.urllib.request.Request发送post请求,发送json参数 fro ...

最新文章

  1. Centos上安装EPEL
  2. 哪种css实现方式优势更突出_【第十三课】更合理的CSS结构
  3. 使用FindAncestor查找方式绑定且不需要使用datacontext
  4. Spring Cloud(一)Eureka Server-单体及集群搭建
  5. 华为mate50麒麟处理器鸿蒙系统,华为Mate50Pro:有鸿蒙OS,处理器你选择麒麟还是高通...
  6. 中华黑豹增强版木马分析
  7. STM32 软硬件调试
  8. Nagios配置监控windows客户端
  9. MongoDB练习题
  10. python集合常用方法_Python 集合常用方法总结
  11. vi测试仪维修成功率高吗?_欧森杰检测仪:臭氧检测仪的六大特点,您真的了解吗?...
  12. 铭飞MCMS内容管理系统完整开源版J2EE代码
  13. 【日常水题-bfs】马的遍历
  14. Oracle 11g ora 15018,OracleASM错误之--ORA-15031、ORA-15014
  15. mysql操作入门(四)-----数据排序(升序、降序、多字段排序)
  16. vim复制转帖格式错乱
  17. nginx新增conf文件
  18. JQuery温故而知新
  19. coco参考文档网址
  20. 360惊天后门曝光:“盗梦盒子”重现江湖

热门文章

  1. 小米发力AI场景下的“快应用”,投百亿资源扶持开发者
  2. 中国AI专利申请量超美国,百度居国内首位
  3. Git 常用命令,每条都很重要!
  4. SpringBoot实现万能文件在线预览,已开源,真香!!!
  5. 为什么要有 AtomicReference ?
  6. 不是我吹,这个idea插件你真没用过!
  7. Lombok经常用,但是你知道它的原理是什么吗?
  8. 面试:SpringBoot中的条件注解底层是如何实现的?
  9. 装逼一步到位!GauGAN代码解读来了
  10. 美观实用!Star 过万,用 Python 做交互式图形的这款工具火了!