字符串 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. Spring MVC Post请求返回403错误,Get请求却正常,可能是安全框架引起的前端解决办法

    原文地址:http://blog.csdn.net/t894690230/article/details/52404105 困惑:很奇怪,明明在方法上面配置了RequestMethod.POST,PO ...

  2. 利用jquery的淡入淡出函数(fadeIn和fadeOut)--实现轮播

    首先说下,我在网上找的例子全是用的UL 实现,其实大可不必,只要是能包含img标签的HTML标签都可以做轮播效果.利用jquery的淡入淡出函数(fadeIn和fadeOut).废话也不多说,边上代码 ...

  3. 关于Anaconda3 (64-bit)的一些体验

    最近因为在学习数据分析,所以安装了Anaconda3 (64-bit),最新版,支持py3.7 优点:自带了720个库(官方宣布),自带notebook,spyder.不用自己再去pip各种库了(基本 ...

  4. LeetCode.961-2N数组中N次重复的元素(N-Repeated Element in Size 2N Array)

    这是悦乐书的第365次更新,第393篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第227题(顺位题号是961).在大小为2N的数组A中,存在N+1个唯一元素,并且这些元 ...

  5. Pandas中关于 loc \ iloc 用法的理解

    转载至:https://blog.csdn.net/w_weiying/article/details/81411257 loc函数:通过行索引 "Index" 中的具体值来取行数 ...

  6. 零基础学习前端1-1配置node及npm环境变量

    零基础学习前端1-1配置node及npm环境变量 ## 1-1配置node及npm环境变量 首先:下载node 可以直接去官方网站下载 1.首先从官网下载安装包 https://nodejs.org/ ...

  7. HDU 1024 Max Sum Plus Plus (动态规划、最大m子段和)

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  8. AttributeError: 'dict' object has no attribute 'status_code'

    前端AJAX请求数据,提示错误:“AttributeError: 'dict' object has no attribute 'status_code'”. 原因:是提示返回对象dict没有“sta ...

  9. 条件运算符在GUN C中的特殊用法.

    在阅读内核源码的时候,发现了条件表达式的奇怪用法,一时没有反应过来.下面的内容是从wiki转载而来,用作回顾和备忘. 转载链接:https://zh.wikipedia.org/wiki/%E6%9D ...

  10. Almost Increasing Array CodeForces - 946G (dp)

    大意: 定义几乎递增序列为删除不超过一个数后序列严格递增. 给定序列, 求最少改变多少个数能变为几乎递增序列. 跟hdu5256类似,