day2 -- 字符串常用方法、列表、字典
1.字符串常用方法
name = "Convict abc"
count(): print(name.count("c")) # 2
find(): print(name.find("a")) # 8
index(): print(name.index("a")) # 8 如果找不到,会报错
根据下标区间取值: print(name[0: 4]) # Conv
format():
new_name = "my new name is {name}"
print(new_name.format(name="GG"))
# my new name is GG
isdigit():判断是否为数字
print("11".isdigit()) # True
print("abc".isdigit()) #False
join():将要连接的元素序列、字符串、元组、字典 连接形成新的字符串
print("==".join(["1", "a", "M"])) # 1==a==M
strip():去除首尾空格和换行
print(" abc \n".strip()) # abc
split():按照方法参数中的字符分割,返回分割后的列表
print("1+2+a+c".split("+")) # ['1', '2', 'a', 'c']
2.列表:类似于C或者Java的数组(有序,可以通过下标取值)
values = ["aaa", "bbb", "ccc"]
然而列表也可以存放列表,例如:
values = ["aaa", "bbb", "ccc", "ddd", "eee", "ddd", ["ddd", "eee"]]
列表的常用方法
# 按下标取
# 正序
print(values[0])
print(values[1])
# 负号表示逆着数,一般常用-1来取最后一个值
print(values[-1]) # 按下标区间取 [起始,终点),所以是不包括最后一个的
# eg1:取下标 1, 2, 3 对应的值
print(values[1:4])
# eg2:-3对应bbb,-1对应ddd
print(values[-3:-1])
# eg3:如果取某一下标直到结尾,冒号之后不写下标即可
print(values[-2:])
# eg4:如果从起始位置起到某一指定位置,冒号前不写下标即可
print(values[0:2]) # 按下标,同时加步长
print(values[0:-1:2])
print(values[::2])
print(values[:]) # 增加
values.append("OFF")
print(values)
values.insert(1, "INSERT")
print(values) # 修改
values[0] = "AAA"
print(values) # 删除
values.remove("OFF") # 直接找这个值并且删除,找不到会报错
print(values) del values[2]
print(values) values.pop(-2) # 取出,可以拿到对应下标的值,如果方法不传参,默认最后一个
print(values) # 找下标位置,根据参数找,找不到报错
print(values.index("ddd")) # 统计
print(values.count("ddd")) # 清空
values.clear()
print(values) # 扩展
values2 = ["!!!", "@@@"]
values.extend(values2)
print(values) # 排序, 特殊字符 > 数字 > 英文大写 > 英文小写, 即按照ASCII排序规则
values.sort()
print(values) # 反转
values.reverse()
print(values) # copy 只复制首层列表,多重列表的内层列表不复制,内层列表copy的都是同一个内存地址指针
values3 = values.copy()
print(values3) names = ["a", "b", ["MM", "NN"], "d"]
names2 = names.copy()
print(names)
print(names2) names2[1] = "B"
print(names)
print(names2) names[2][0] = "123"
print(names)
print(names2) # (深copy)直接copy一个副本,数据大时最好不用这个,否则资源消耗大
import copy
names = ["a", "b", ["MM", "NN"], "d"]
names2 = copy.deepcopy(names)
print(names)
print(names2) names[2][0] = "123"
print(names)
print(names2) # 元组tuple(只读列表),只能读的列表,没有增删改操作
names = ("A", "B")
print(names) # 查找字符在列表中的下标
name = "abc"
print(name.index("a")) # 找不到直接报错
print(name.find("d")) # 找不到返回-1
3.字典: key-value 形式的数据类型,键值对类型,类似于json格式,(无序,通过key取值)例如:
person1 = {
"name": "AAA",
"age": 12,
"addr": "China"
}
然而字典存放的也可以是字典,例如:
people = {
"p1": person1,
"tel": 888666000
}
对字典取值:
①知道key,直接 字典[“key”]取值,如:
print(person1["age"]) # 12
# 但如果这key是不存在的,则会报错,如 print(person1["bbb"]) 会直接报错
②.get()方法
print(person1.get("age")) # 12
print(person1.get("aaa")) # None
# .get()可以传字典中不存在的key,返回 None,取值时候建议用这个方法
对字典删除:
①知道key,直接 字典[“key”]取值,如:
del person1["aaa"] # 删除key为aaa的整个值,如果key不存在,则会报错
②.pop()方法,取出字典中指定的key以及key所对应的值,所以这个方法是有返回值的,且原字典会移除对应的key及value,如果key不存在则报错
person1.pop("age") # 12
③.popitem()方法,随机取出key以及key所对应的值,有返回值,原字典会移除对应的key及value
person1.popitem() # 随机的
对字典增加:类似json,直接往字典添加key跟value即可
person1["salary"] = 4500
对字典修改:
person1["name"] = "new Name" # 如果key是原字典不存在的,就变成了增加
day2 -- 字符串常用方法、列表、字典的更多相关文章
- Python之路 day2 字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- python_way ,day2 字符串,列表,字典,时间模块
python_way ,day2 字符串,列表,字典,自学时间模块 1.input: 2.0 3.0 区别 2.0中 如果要要用户交互输入字符串: name=raw_input() 如果 name=i ...
- python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- 转:python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...
- python 小白(无编程基础,无计算机基础)的开发之路,辅助知识6 python字符串/元组/列表/字典互转
神奇的相互转换,小白同学可以看看,很有帮助 #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...
- Python基础二_操作字符串常用方法、字典、文件读取
一.字符串常用方法: name.captitalize() #字符串首字母大写 name.center(50,'*') ...
- 【转】python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- day2 字符串常用方法总结
字符串在Python中是常用的功能,我们知道,字符串在Python中存储的形式是以字符数组的形式存在,比如"alex"在内存中的存储形式是:["a"," ...
- python基础之数据类型/字符串/元组/列表/字典
Python 数据类型 数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型).float浮点型:complex复数(python中存在小数字池:-5--257):布尔值 ...
随机推荐
- Java复制文件用数据流方法,renameTO()方法是相当于剪切操作
我想达到的效果是,一个文件复制到另一个地方,然后重命名 //判断是否存在 File file = new File("D:/tomcat9.0.12/apache-tomcat-9.0.12 ...
- Zuul网关 @EnableZuulProxy 和 @EnableZuulServer 的区别
1. @EnableZuulProxy 2. @EnableZuulServer 3.解释 1)@EnableZuulProxy简单理解为@EnableZuulServer的增强版, 当Zuul与Eu ...
- SYCOJ570传纸条
题目-传纸条 (shiyancang.cn) 算法(线性DP) O(n3)O(n3)首先考虑路径有交集该如何处理.可以发现交集中的格子一定在每条路径的相同步数处.因此可以让两个人同时从起点出发,每次同 ...
- 金融云原生漫谈(三)|银行云原生基础设施构建:裸金属VS虚拟机
在金融行业数字化转型的驱动下,国有银行.股份制银行和各级商业银行也纷纷步入容器化的进程. 如果以容器云上生产为目标,那么整个容器云平台的设计.建设和优化对于银行来说是一个巨大的挑战.如何更好地利用 ...
- SparkSQL学习笔记
概述 冠状病毒来临,宅在家中给国家做贡献之际,写一篇随笔记录SparkSQL的学习笔记,目的有二,一是记录整理之前的知识作为备忘录,二是分享技术,大家共同进步,有问题也希望大家不吝赐教.总体而言,大数 ...
- 我的2021年度总结-回忆录|附旅行Vlog
今天是农历腊月初十,还有20天就是2022年了.这一年,些许遗憾,些许期盼.时间久了,很多事已经慢慢模糊了,只记得,这最后几个月的闲碎小事. 不止多久,很久没有码字了.有些事,记不清,忆不得.时至今年 ...
- 设计模式-Java版-全-附代码-超生动实例
阅读推荐:设计模式-简单篇 项目地址:https://gitee.com/zwtgit/gof23 学习网站推荐: https://refactoringguru.cn/design-patterns ...
- UML 有关类图知识及类间关系
原文链接:https://blog.csdn.net/mj_ww/article/details/53020346 1. 类的含义 类图(Class diagram)显示了系统的静态结构,而系统的静态 ...
- unity3d inputfield标签控制台打印object
inputfield标签控制台打印object 这说明没有字符串给入 这是因为 inputfield下的text不能人为写入值,只能在game界面输入. 所以这个标签里的text做个默认值不好搞.
- 使用VS Code的MySQL扩展管理数据库
我将在本文告诉你如何用VS Code的扩展程序管理MySQL数据库,包括连接到MySQL.新建数据库和表.修改字段定义.简单的查询方法以及导入导出. 在许多情况下,我们需要随时查看数据库的记录来确保程 ...