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 -- 字符串常用方法、列表、字典的更多相关文章

  1. Python之路 day2 字符串/元组/列表/字典互转

    #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...

  2. python_way ,day2 字符串,列表,字典,时间模块

    python_way ,day2 字符串,列表,字典,自学时间模块 1.input: 2.0 3.0 区别 2.0中 如果要要用户交互输入字符串: name=raw_input() 如果 name=i ...

  3. python字符串/元组/列表/字典互转

    #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...

  4. 转:python字符串/元组/列表/字典互转

    #-*-coding:utf-8-*-  #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...

  5. python 小白(无编程基础,无计算机基础)的开发之路,辅助知识6 python字符串/元组/列表/字典互转

    神奇的相互转换,小白同学可以看看,很有帮助 #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...

  6. Python基础二_操作字符串常用方法、字典、文件读取

    一.字符串常用方法: name.captitalize()                       #字符串首字母大写 name.center(50,'*')                   ...

  7. 【转】python字符串/元组/列表/字典互转

    #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...

  8. day2 字符串常用方法总结

    字符串在Python中是常用的功能,我们知道,字符串在Python中存储的形式是以字符数组的形式存在,比如"alex"在内存中的存储形式是:["a"," ...

  9. python基础之数据类型/字符串/元组/列表/字典

    Python 数据类型 数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型).float浮点型:complex复数(python中存在小数字池:-5--257):布尔值 ...

随机推荐

  1. [学习笔记] Oracle集合运算、内连接、外连接、伪列

    集合运算 INTERSECT(交集),返回两个查询共有的记录. UNION ALL(并集重复),返回各个查询的所有记录,包括重复记录. UNION(并集不重复),返回各个查询的所有记录,不包括重复记录 ...

  2. vue 传入后台的数据多了个=

    解决方法: 在前端值参时用{} 在后台接收时用Map 来自为知笔记(Wiz)

  3. wordpress搭建网站更改域名后打开网页排版显示错乱解决办法

    发生的原因: 我本来已经搭建好了网站,也测试了没问题.后来更改了网站的域名,出现了这种情况. 解决办法: 需要修改数据库的options表里面的 siteurl 和 home 这两个表的内容为最新的域 ...

  4. 报错 java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 原因

    sql异常 java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestam ...

  5. websocket 使用 spring 的service层 ,进而调用里面的 dao层 来操作数据库 ,包括redis、mysql等通用

    1.前言 描述一下今天用websocket踩得坑  --->空指针异常! 我想在websocket里面使用service 层的接口,从中获取数据库的一些信息  , 使用 @Autowired 注 ...

  6. vscode 前端好用插件汇总

    本篇文章根据实际开发中使用的扩展插件,结合<精选!15 个必备的 VSCode 插件(前端类)>.<vscode 插件推荐 - 献给所有前端工程师(2017.8.18更新)>中 ...

  7. icmpsh之icmp反弹shell

    一,技术原理 向ping www.baidu.com时,本机会先向百度的服务器发送ICMP请求包,如果请求成功了,则百度服务器会回应ICMP的响应包 引用百度百科: ICMP(Internet Con ...

  8. springBoot--01--快速入门

    笔记源码:https://gitee.com/ytfsL/springboot 1.1 原有Spring优缺点分析 1.1.1 Spring的优点分析 Spring是Java企业版(Java Ente ...

  9. ffmpeg+nginx截取屏幕实时画面并进行rtmp推流在前端播放

    准备环境和文件 1.下载ffmpeg的包[https://foxbaby.lanzoui.com/iYjPmup51cd] 地址:https://ffmpeg.org/download.html#bu ...

  10. day2 数组字符串逆序存放正序对接调试

    这个问题仔细想了想,是s,t,s[],t[],重定义了,导致输入的是s,t这个定义变量,与传参传的是指针变量就不匹配了. 如果加上对s,t的地址,让传参的形式想匹配,还是报错,这块也没有弄懂,初步觉的 ...