python 字符串方法及列表,元组,字典(一)
字符串 str
注:
若想要保持单引号和双引号为字符串的一部分
1)单双引号交替使用,
2)使用转义字符\
3)成对三个引号被存在变量里
二、字符串详细用法
字符串的单个取值例 p_1=”hello”
字符串元素定位置,通过索引 正序(→) 反序(←)开始值从0开始,反序从-1开始
取值方式 字符串名[索引值] 例print(p_1[-1]) 取o
①字符串切片:字符串名[m:n:k]m:索引起始位置,n:索引结束位置+1,k:步长 默认值为1,取左不取右
例
1,print(p_1[2:4:10])取ll
2,print(p_1[:])#k=1 m=0 n=到末尾+1 取hello
3,print(p_1[0:]) 取 hello
②字符串的进阶操作:python内置函数的调用
- 切换大小写upper() lower()
例子
s='get'
k='GET'
s_1=s.upper()/k.lower() #大/小写函数
print(s_1) 结果GET/get
2.字符串拼接
例子
a="GET"
a1=a[0]+a[1].lower()+a[2]
print(a1) 结果GeT
3.查找字符串 字符串变量名.find(字符串)
例子
a='easier said than done!'
print(a.find('!')) 结果21
#結果返回字符所在的索引,從左側到右側0開始包括空格,返回-1說明查找的字符不存在
4.字符串的替换 字符串变量名.replace(目标,替换的值,替换次数) 替换次数不写默认全部替换,只能先替换在进行其他操作
例子:
a='easier said than done!'
a_1=a.replace('a','@',2)
print(a_1) 结果e@sier s@id than done!
5.split() 根据传入指定的字符去进行切割
例子
a='easier said than done!'
a_1=a.split("a")
print(a_1) 结果['e', 'sier s', 'id th', 'n done!'] #以a为挡板进行切割,结果是列表类型的
指定切割次数
a_1=a.split("a",1)
print(a_1) 结果['e', 'sier said than done!']
空格切割
a='easier said than done!'
a_1=a.split(" ")
print(a_1)
结果['easier', 'said', 'than', 'done!']
特殊切割
a='easier said than done!!!!!'
a_1=a.split("!",5)
print(a_1) 结果 ['easier said than done', '', '', '', '', '']
6.strip()去除指定元素的头和尾指定的字符,不傳字符時默認去除頭尾的空格
a='easier said than done'
a_1=a.strip("e")
print(a_1) 结果asier said than don
尾部的内容相同一直去除
a='eeeeeasier said than doneeeeee'
a_1=a.strip("e")
print(a_1) 结果asier said than don
字符串的拼接(+)只能是字符串,格式相同类型相同时用+
a='hello'
a_1='world'
a_2=a+" "+a_1
print(a_2) 结果hello world
附加知识
1、字符串转换
①整数利用str()可以转换为字符数,但是字符串不能变为数值型
print(a+str(8888)+a_1) 结果hello8888world
②字符串的值为数字的可以利用int()转成字符串
print(type(int("6777"))) 结果<class 'int'>
③str(数据值或者是变量名)函数直接强制转换为字符串
2、格式化输出
①%s输出一个字符串 占坑 %d 数字
按顺序赋值
name="jack"
age=18
print("2019年%s參加體育比賽,那年他只有%d歲!"%(name,age))
结果 2019年jack參加體育比賽,那年他只有18歲!
②format用{}来占坑,如果不指定顺序就按顺序赋值,少赋值的坑就会报错
name="张三"
date="10月1日"
age=18
print("2019年{1}{0}參加體育比賽,那年他只有{2}歲!".format(name,date,age))
结果2019年10月1日张三參加體育比賽,那年他只有18歲!
三、列表 关键字 list 标志[]
S=[] #空列表
特点:
1、空列表[],关键字 list
2、列表里面可以放任何类型的数据 元素与元素直接用逗号隔开
3、列表里面的元素都有索引,从0开始和字符串的索引方式是一致的
4、列表取值方式:列表名[索引值]
5、切片;列表名[m,n,k]跟字符串一样
s=[20,"hello",2.0,[1,2,3]]
print(s[0:4:2]) 结果 [20, 2.0]
进阶操作:列表 增删改
增加元素:
1、列表名.append(value)直接追加内容到列表的最后面
s=[20,"hello",2.0,[1,2,3]]
s.append("ok")
print(s) 结果[20, 'hello', 2.0, [1, 2, 3], 'ok']
2、列表名.insert(指定索引值的位置,value)把value插入到指定的位置
s=[20,"hello",2.0,[1,2,3]]
s.insert(1,"ok")
print(s) 结果[20, 'ok', 'hello', 2.0, [1, 2, 3]]
3、extend 扩张列表
s=[20,"hello",2.0,[1,2,3]]
s1=["合理",12,"world"]
s.extend(s1)
print(s) 结果[20, 'hello', 2.0, [1, 2, 3], '合理', 12, 'world']
删除元素
1、删除最后一个元素,列表名.pop()
s=[20,"hello",2.0,[1,2,3]]
s.pop()
print(s) 结果 [20, 'hello', 2.0]
2、指定删除元素 列表名.pop(指定的索引位置)
s=[20,"hello",2.0,[1,2,3]]
s.pop(1)
print(s) 结果 [20, 2.0, [1, 2, 3]]
3、删除所有元素 列表名.clear()
s=[20,"hello",2.0,[1,2,3]]
s.clear()
print(s) 结果[]
4、修改元素 修改列表里面元素的value
列表名[指定索引]=新值 修改指定的索引值
s=[20,"hello",2.0,[1,2,3]]
s[1]=2019
print(s) 结果[20, 2019, 2.0, [1, 2, 3]]
四、元组 关键字 tuple 标志()
t=() 空元组
特点
1、标志是()关键字tuple
2、元组里面可以放任何类型的数据,元素与元素之间用逗号隔开
3、元组里面的元素也都有索引从0开始跟字符串的索引方式是一致的
4、元组取值方式:元组名[索引值]正序 反序
5、切片:元组名[m:n:k]和字符串一样的操作
注:
①与列表的区别:
1、标志不同
2、元组的值不能进行任何的增删改操作,可以修改元组内部的数据但是不能改外部的数据
例如
第一种
s=(1,"hell0",2.0,[1,2,3],(1,2,3))
s[3]=6666
print(s) 结果 报错TypeError: 'tuple' object does not support item assignment
s=(1,"hell0",2.0,[1,2,3],(1,2,3))
s[3][2]=6666
print(s) 结果(1, 'hell0', 2.0, [1, 2, 6666], (1, 2, 3))
第二种
s=[1,"hell0",2.0,[1,2,3],(1,2,3)]
s[4]=6666
print(s) 结果[1, 'hell0', 2.0, [1, 2, 3], 6666]
s=[1,"hell0",2.0,[1,2,3],(1,2,3)]
s[-1][1]=6666
print(s) 结果报错TypeError: 'tuple' object does not support item assignment
②元组单个元素时加逗号称为元组
a=(1)
a=(1,)
a=(“hello”)
a=(“hello”,)
a=([2,4,6])
a=([2,4,6],)
五、字典 关键字 dict 标志{}
特点
1、关键字dict {}
2、值的特点是 键值对 key_value
3、a={}空字典
4、元组列表都是有序的的数据类型,字典是无序的数据类型
5、取值,按照key取值字典名[key],取所有值 字典名.values(),所有的key值 字典名.keys()
例子
a={"age":18,"name":"張三","address":"上海"}
print(a["age"])
print(a.values())
print(a.keys())
结果
18
dict_values([18, '上海', '張三'])
dict_keys(['age', 'address', 'name'])
6、增删改
增加值:a[新key]=value
修改值:a[已存在的key]=新value
删除值:字典名.pop(key)
例如
a={"age":18,"name":"張三","address":"上海"}
a["sex"]="男"
a["address"]="廣東"
a.pop("age")
print(a) 结果 {'sex': '男', 'address': '廣東', 'name': '張三'}
字典嵌套
例如
a={"age":18,"name":"張三","address":"上海","info":{"name":"李四","age":20,"add":"浙江","score":100}}
a_1=a['info']['score']
print(a_1) 结果100
注:key的值时唯一的,value可以不唯一
例子
a={"age":18,"name":"張三","address":"上海","name":"王五"}
print(a) 结果{'name': '王五', 'age': 18, 'address': '上海'} 张三被覆盖
a={"age":18,"name":"張三","address":"上海","name2":"張三"}
print(a) 结果{'name': '張三', 'name2': '張三', 'address': '上海', 'age': 18}
python 字符串方法及列表,元组,字典(一)的更多相关文章
- python基础之02列表/元组/字典/set集合
python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...
- Python入门基础学习(列表/元组/字典/集合)
Python基础学习笔记(二) 列表list---[ ](打了激素的数组,可以放入混合类型) list1 = [1,2,'请多指教',0.5] 公共的功能: len(list1) #/获取元素 lis ...
- python的对象类型-----列表&元组&字典
列表: #定义列表 l=[1,'a',[3,4]] #l=list([1,'a',[3,4]]) #取值 print(l[0]) print(l[2][0]) l=[1,2,[['a','b'],'c ...
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
Python第三天 序列 数据类型 数值 字符串 列表 元组 字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...
- Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式
Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天 安装 shell ...
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- Python中多个列表与字典的合并方法
Python中多个列表与字典的合并方法 1多列表的合并 1)a+=b a=['] b = ['] a += b print(a) >>>['] 2) a.extend(b) a=[' ...
随机推荐
- LoadRunner遇到的问题
1. :
- Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use.
Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use. The ...
- 网易云课堂_C++程序设计入门(下)_第10单元:月映千江未减明 – 模板_第10单元 - 单元作业:OJ编程 - 创建数组类模板
第10单元 - 单元作业:OJ编程 - 创建数组类模板 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提 ...
- ABAP的smartform赋值
添加文本后, 在输出选项中指定行/列
- C++编译错误提示 [Error] name lookup of 'i' changed for ISO '
在VC 6 中,i的作用域范围是函数作用域,在for循环外仍能使用变量i 即: for (int i = 0; i < n; ++i) { //…… } cout<< ...
- cocos2dx基础篇(26) 单例模式
单例模式,说的通俗一点就是:创建某个类的全局唯一静态实例对象.也就是说从它创建开始,一直到整个游戏程序结束才会释放资源,期间一直保存的着数据. 单例类在大部分游戏中应该是必不可少的部分,如整个游戏音乐 ...
- 【VS开发】Windows上的音频采集技术
前一段时间接到一个任务,需要采集到声卡的输出信号,以便与麦克风的输入信号进行混音. 之前一直没有研究过音频的相关技术,这次就顺便抽出一点时间去了解了一下Windows上采集音频的相关技术. 对于音频处 ...
- AspNet Core Swagger4.0 生成请求model描述
今天给大家分享 swagger 俩个冷门的小技巧 获取控制器描述 将 IncludeXmlComments 方法第二个参数设置为 true 即可 public static void IncludeX ...
- 最新的省市编码和sql
下面的项目是整理的最新的省市编码sql文件,可以看看. github
- Redis配置主从时报错“Could not connect to Redis at 192.168.0.50:6379: Connection refused not connected>”
配置Redis主从时,修改完从节点配置文件,然后报错 [root@Rich七哥-0-50 redis]# /opt/redis/redis-cli -h 192.168.0.50 Could not ...