python-数据结构汇总,树图、代码讲解(字符串、数组、字典、集合、元组)

ops/2025/3/18 18:56:10/

一、字符串(str)

1.增操作

1.1‘+’符号拼接字符串

python">str1="I love";
str2="you";
#直接使用‘+’符号拼接字符串变成一个字符串
str = str1+str2
print(str)
#打印出 I love you

1.2join()方法,可以将列表、元组中的字符串合并成为一个字符串

python">#列表list,元组tuple
list = ['i','love','you']
tuple = ('i','love','you')
str=''
#使用join()方法将列表和tuple变成字符串类型
str1=str.join(list)
str2=str.join(tuple)
print(str1)
print(str2)
#其中str1打印出iloveyou,str2打印出iloveyou

2.删除操作

2.1strip()方法,删除字符串前后空格

python">#strip()删除前后空格,lstrip()删除左边空格,rstrip()删除右边空格
str = '  abc  '
print(str.strip())
print(str.lstrip())
print(str.rstrip())
#分别打印出"abc","abc  ","  abc"

2.2replace()方法,可以用替换的方式删除字符指定的字符

python">str="how are you"
str1=str.replace("you","")
print(str1)
#replace查找you字符后""空字符代替,打印出"how are"

3.修改操作

3.1replace()方法,查找指定字符内容,然后用新的字符替换

python">str='how are you'
str1=str.replace('how','who')
print(str1)
#打印出"who are you"

3.2f’格式化‘,python3.0可以使用格式化修改字符串内容

python">name='李明'
age=23
print(f'我的名字叫{name},今年{age}岁了')
#打印出:我的名字叫李明,今年23岁了

其中字符串的修改还包括title()将首字母变成大写,upper(),lower()将字符串分别变成大写和小写

4.查询操作

4.1索引查询,类似数组,可根据下标索引打印对应的值

python">str='my name is liming'
print(str[1])
#打印出:y
#其中还可以指定打印范围,查询下标为1,到4的字符,其中注意下标4值取不到
print(str[1:4])
#打印出:y n
print(str[:1])
#查询下标1前的所有字符,打印出:m
print(str[1:])
#查询下标为1后的所有字符打印出:y name is lingming

4.2find()/index()方法,匹配搜索下标,根据匹配字符查询出下标

python">str='my name is liming'
str1=str.find("me")
str2=str.index("me")
#str1和str2都打印出:4
#其中还可以设置在某段字符内匹配字符
str3 = str.find("me",1,10)
#其中1,10表示在这段字符内查找字符str3打印出:4

4.3coun()方法和in语句,分别是查询出出现的字符次数和是否出现过字符

python">str='my name is liming'
print(str.count('m'))
if 'y' in str:print('true')
#分别打印出:3,true

二、数组(list)

1.增操作

1.1entend()/’+‘拼接两个数组

python">list1=['1','2','3']
list2=['4','5']
print(list1+list2)
print(list1.entend(list2))
#两个都是打印出:['1','2','3','4','5']

1.2append()方法,在数组结尾添加一个元素

python">list1=['1','2','3']
print(list1.append('a'))
#两个都是打印出:['1','2','3','a']

1.3insert()方法,指定下表位置添加一个元素

python">list1=['1','2','3']
print(list1.insert(1,'a'))
#两个都是打印出:['1','a','2','3']

2.删除操作

2.1remove()方法,根据匹配删除一个元素

python">list1=['1','2','3']
print(list1.remove('2'))
#两个都是打印出:['1','3']

2.2pop()方法,根据下标删除一个元素

python">list1=['1','2','3']
print(list1.pop(1))
#两个都是打印出:['1','2']

2.3del语句,根据下标索引、切片、全删除元素

python">list1=['1','2','3']
del list1[1]
#del list[1:2]
#del list
print(list1)
#打印出:['1','3'],如果执行del list[1:2]打印出:['1','3'],如果执行del list打印出:[]

3.修改操作

3.1下标索引、切片修改元素

python">list=['1','2','3']
list[1]='5'
#list[0:3]=['4','5']
print(list)
#打印:['1','5','3'],如执行list[0:3]=['4','5'],则打印:list[0:2]=['4','5','3']

4.查询操作

 4.1索引查询,可根据下标索引打印对应的值

python">str=['m','y','n','a','m']
print(str[1])
#打印出:y
#其中还可以指定打印范围,查询下标为1,到4的元素,其中注意下标4值取不到
print(str[1:4])
#打印出:['y','n','a']
print(str[:1])
#查询下标1前的所有元素,打印出:['m']
print(str[1:])
#查询下标为1后的所有元素打印出:['y','n','a','m']

4.2index()方法,匹配搜索下标,根据匹配元素查询出下标

python">str=['my','name','is','liming']
str2=str.index("is")
#str2都打印出:2
#其中还可以设置在某段数组内匹配元素
str3 = str.find("is",0,3)
#其中0,3表示在这段数组内查找字符str3打印出:2

4.3coun()方法和in语句,分别是查询出出现的字符次数和是否出现过字符

python">str=['a','b','c','a']
print(str.count('a'))
if 'b' in str:print('true')
#分别打印出:2,true

三、字典(key-value)

1.增操作

1.1直接创建键值对dict['key']='value'

dict={'name':'李明'}
dict['age']=24
print(dict)
#打印出:{'name':'李明','age':24}

1.2setdefault()方法,键值对key存在时不添加,不存在时添加

dict={'name':'李明'}
dict.setdefault('age',24)
print(dict)
#打印出:{'name':'李明','age':24}

2.删除操作

2.1pop()方法,根据键删除键值对,不会有异常

dict={'name':'李明'}
dict.pop('name')
print(dict)
#打印出:{}
#popitem()方法,和pop()方法类似,但popitem()是随机删除,dict.popitem()

2.2del语句,del dict['key']/del dict

dict={'name':'李明','age':24}
del dict['name']
#del dict
print(dict)
#打印出:{'age':24},如果执行del dict则打印出:{}

3.修改操作

3.1直接修改键值对

dict={'name':'李明'}
dict['name']='小红'
print(dict)
#打印出:{'name':'小红'}

4.查询操作

4.1直接查找键值对dict['key']

dict={'name':'李明'}
print(dict['name'])
#打印出:李明

4.2get()方法

dict={'name':'李明'}
print(dict.get('name'))
#打印出:李明

4.3in语句

python">dict={'name':'李明'}
if 'name' in dict:print('true')
#打印出:true

四、集合(无序唯一)

1.增操作

1.1add()方法,添加一个元素set.add('a')

set={'a',1,'b',2}
set.add('3')
print(set)
#打印出:{'a',1,'b',2,'3'}

1.2set()方法,将数组、元组、字符串变成集合

str='a1b2'
list=['a',1,'b',2]
suple=('a',1,'b',2)
set1=set(str)
#set(list)/set(suple)
print(set1)
#打印出:{'a','1','b','2'},执行set.set(list)/set.set(suple)则打印出{'a',1,'b',2}

1.3update()方法,将集合、数组、元组变成集合加入集合中

set1={'y','m'}
str='a1b2'
list=['a',1,'b',2]
suple=('a',1,'b',2)
set1.update(str)
#set1.update(list)/set1.update(suple)
print(set1)
#集合是无序唯一的,打印出:{'a','1','b','2','y','m'}

·2.删除操作

2.1remove()/discard()方法,根据匹配删除元素

set1={'1','2','a'}
set1.remove('a')
print(set1)
#打印出:{'1','2'}#对于remove有缺陷,删除不存在的元素时会异常,可以用discard()代替

2.2pop()方法,由于集合是无序的,只能随机删除一个下标元素

set1={'1','2','a'}
set1.pop()
print(set1)
#打印出:{'1','a'}

 2.3clear()方法,清除所有元素

set1={'1','2','a'}
set1.clear()
print(set1)
#打印出:{}

3.查询操作

3.1in语句

set1={'1','2','a'}
if 'a' in set1:print('true')
#打印出:true

4.集合运算

4.1并集(|)、交集(&)、差集(-)、对称差集(^)

set1={'a','b','c','d'}
set2={'b','d','e'}print(set1|set2)
print(set1&set2)
print(set1-set2)
print(set1^set2)
#分别打印出:{'c', 'a', 'b', 'e', 'd'},{'b', 'd'},{'c', 'a'},{'c', 'a', 'e'}

五、元组(有序唯一)

1.增操作

1.1‘+’符号直接增加元素,tuple+(5,),注意添加的元组必须后面带‘,’

tuple=('1','a')
print(tuple+(5,))
#打印出:('1','a',5)

2.删除操作

2.1切片删除

tuple=('1','a','3','r','d')
print(tuple[:1]+tuple[3:])
#打印出:('1','r','d')

2.2del语句

tuple=('1','a','3','r','d')
print(del tuple[1])
#打印出:('1','3','r','d')

 3.查询操作

 3.1索引查询,可根据下标索引打印对应的值

python">suple=('m','y','n','a','5')
print(suple[1])
#打印出:y
#其中还可以指定打印范围,查询下标为1,到4的元素,其中注意下标4值取不到
print(suple[1:4])
#打印出:('y','n','a')
print(suple[:1])
#查询下标1前的所有元素,打印出:('m')
print(suple[1:])
#查询下标为1后的所有元素打印出:('y','n','a','5')

3.2index()方法,匹配搜索下标,根据匹配元素查询出下标

python">suple=('my','name','is','liming')
str2=suple.index("is")
#str2都打印出:2
#其中还可以设置在某段数组内匹配元素
str3 = suple.index("is",0,3)
#其中0,3表示在这段数组内查找字符str3打印出:2

3.3coun()方法和in语句,分别是查询出出现的字符次数和是否出现过字符

python">suple=('a','b','c')
print(suple.count('a'))
if 'b' in suple:print('true')
#分别打印出:1,true


http://www.ppmy.cn/ops/166844.html

相关文章

DeepSeek 3FS集群化部署临时笔记

DeepSeek 3FS集群化部署临时笔记 一、3FS集群化部署1、环境介绍2、对应的软件包安装3、编译4、部署4.1 部署monitor_collector_mainStep 2: Admin clientStep 3: Mgmtd serviceStep 4: Meta serviceStep 5: Storage serviceStep 6: Create admin user, storage targets and cha…

Linux编辑器

Linux编辑器 yum yum是包管理器,类似于Linux的应用商店,安装和卸载工具需要使用yum,Linux系统中是预装了yum的 rzsz工具: Linux和window的文件互传工具 yum install lrzsz 查看所有的软件列表: yum list el代表centos,base代表软件的提供方是base 卸载软件 yum remove l…

Mybatis批量操作

1、批量插入 <!--批量操作-插入--><!-- 相当于INSERT INTO t_goods (c1,c2,c3) VALUES (a1,a2,a3),(b1,b2,b3),(d1,d2,d3),...--><insert id"batchInsert" parameterType"java.util.List">INSERT INTO t_goods (title,sub_title,origina…

数据库系统原理|课程回顾与习题部分参考答案

YI时间&#xff5c;松子茶碎碎念&#xff5c;MM-DFW&#xff5c;LAMBDA系列 星标&#x1f31f;松子茶 更新不掉队&#x1f31f; 作者 | 松子茶 © 原创内容(除图片) 未经作者授权&#xff0c;严禁转载或镜像 一、课程简介 《数据库系统原理》课程是计算机科学与技术专…

信奥赛CSP-J复赛集训(模拟算法专题)(18):P8318 『JROI-4』淘气的猴子

信奥赛CSP-J复赛集训(模拟算法专题)(18):P8318 『JROI-4』淘气的猴子 题目描述 jockbutt 有一个正整数序列,长度为 n n n,分别为 a 1 , a 2 . . . a n a_1,a_2...a_n a1​,a2​...an​,她非常喜欢这个序列,平时都非常爱惜它们。 可是有一天,当 jockbutt 在和你约…

maven之自定义插件

写在前面 在使用maven肯定是离不开插件的&#xff0c;比如执行mvn clean或者时mvn compile其实运行的就是绑定的默认插件。虽然我们一般不需要来自定义插件&#xff0c;但是为了使用的过程中更加的清晰&#xff0c;来尝试自定义插件还是很有必要的&#xff0c;所以本文就一起来…

基于 Docker 和 Flask 构建高并发微服务架构

基于 Docker 和 Flask 构建高并发微服务架构 一、微服务架构概述 &#xff08;一&#xff09;微服务架构的优点 微服务架构是一种将应用程序拆分为多个小型、自治服务的架构风格&#xff0c;在当今的软件开发领域具有显著的优势。 高度可扩展性&#xff1a;每个微服务可以独…

前端面试:ajax 和 xhr 是什么关系?

在前端开发中&#xff0c;AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;和 XHR&#xff08;XMLHttpRequest&#xff09;是两个密切相关但有些不同的概念。以下是对这两者的详细解释及其关系&#xff1a; 1. AJAX 定义&#xff1a;AJAX 是一个用于创建异步 we…