字符串 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内置函数的调用

  1. 切换大小写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 字符串方法及列表,元组,字典(一)的更多相关文章

  1. python基础之02列表/元组/字典/set集合

    python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...

  2. Python入门基础学习(列表/元组/字典/集合)

    Python基础学习笔记(二) 列表list---[ ](打了激素的数组,可以放入混合类型) list1 = [1,2,'请多指教',0.5] 公共的功能: len(list1) #/获取元素 lis ...

  3. 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 ...

  4. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

  5. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  6. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  7. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  8. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  9. Python中多个列表与字典的合并方法

    Python中多个列表与字典的合并方法 1多列表的合并 1)a+=b a=['] b = ['] a += b print(a) >>>['] 2) a.extend(b) a=[' ...

随机推荐

  1. 阶段3 2.Spring_10.Spring中事务控制_9 spring编程式事务控制1-了解

    编程式的事物控制,使用的情况非常少,主要作为了解 新建项目 首先导入包坐标 复制代码 这里默认值配置了Service.dao和连接池其他的内容都没有配置 也就说现在是没有事物支持的.运行测试文件 有错 ...

  2. SQL Server 批量创建作业(备份主分区)

    一. 需求背景 在我的数据库实例中,有很多类似下图所示的数据库,这些数据库的名称是有规律的,每个数据库包含的表都是相同的,其中2个表是类似流水记录的表,表的数据量会比较大,占用的空间有几十G到上百G不 ...

  3. go的变量定义

    package main //理解包的概念 import "fmt" var ( aa = 1 bb = "kkk" ss = true) func varia ...

  4. scrapy 正则汉字的提取方法

    [\u4E00-\u9FA5]

  5. python 并发编程目录

    操作系统介绍 操作系统发展史 进程理论 多进程 多线程 协程 io模型

  6. 使用lombok.Data编译时无法找到get/set方法

    我的IDEA版本是2019.2 在使用IDEA创建了一个SpringBoot项目,其中一个实体类使用了@Data注解,但是在Service中调用的时候找不到get/set方法. 检查步骤: 1.在St ...

  7. LOJ 103 字串查找 题解

    题面 这道题是KMP的模板. KMP需要注意的细节有很多,所以把这篇文章发上来供参考: #include <bits/stdc++.h> using namespace std; char ...

  8. 洛谷 P1472 奶牛家谱 Cow Pedigrees 题解

    题面 这道题我觉得是个不错的题: 根据题意可以较清晰的发现ans只和n和k有关:(因为输入的只有这两个数啊~): 那么设f[i][j]表示前i层用了j个节点的方案数,g[i][j]表示深度小于等于i并 ...

  9. mysql表优化

    一.定期分析表 ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] 二.定期检查表 CHECK TABLE tbl_nam ...

  10. P1397 [NOI2013]矩阵游戏

    传送门 首先显然可以矩乘快速幂然后 $T$ 飞 看一眼题解发现因为这一题矩阵的特殊性所以可以对矩阵的次数欧拉降幂 然而我并不懂证明,所以我选择暴力乱搞的做法 十进制快速幂,然后注意一下常数,还有矩阵乘 ...