当前位置: 首页 > article >正文

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

一、字符串(str)

1.增操作

1.1‘+’符号拼接字符串

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

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

#列表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()方法,删除字符串前后空格

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

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

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

3.修改操作

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

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

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

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

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

4.查询操作

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

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()方法,匹配搜索下标,根据匹配字符查询出下标

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语句,分别是查询出出现的字符次数和是否出现过字符

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

二、数组(list)

1.增操作

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

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

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

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

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

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

2.删除操作

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

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

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

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

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

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下标索引、切片修改元素

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索引查询,可根据下标索引打印对应的值

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()方法,匹配搜索下标,根据匹配元素查询出下标

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

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

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语句

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索引查询,可根据下标索引打印对应的值

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()方法,匹配搜索下标,根据匹配元素查询出下标

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

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

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


http://www.kler.cn/a/589922.html

相关文章:

  • 5分钟快速申请一个EDU教育邮箱
  • Qt选择文件路径,并写入文件
  • 华为hcia——Datacom实验指南——Ping和Tracert的工作原理
  • 【自学笔记】Solidity基础知识点总览-持续更新
  • Excel导出工具类--复杂的excel功能导出(使用自定义注解导出)
  • 图文详解部署deepseekR1模型:Win11本地部署deepseek R1:7B大模型:Ollama+deepseekR1+OpenWebUI+Hyper-V部署教程。 模型参数70亿
  • TypeScript语言的计算机视觉
  • 【使用 Element UI 实现手动上传文件:FormData 追加文件和其他参数,支持单文件覆盖上传】
  • 字符串哈希从入门到精通
  • VSCode + CMake
  • 系统架构设计师—案例分析—数据库篇—分布式缓存技术
  • 【C++标准库类型】深入理解vector类型(2):迭代器与算法
  • 做游戏的发展方向
  • Java泛型程序设计使用方法
  • 矩阵期望 E 的含义:概率
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本的处理方法
  • 【软件工程】04_面向对象需求分析方法
  • 【C++进阶一】STL和string
  • SAP HANA on AWS Amazon Web Services
  • 一个使用Python和相关深度学习库(如`PyTorch`)实现GCN(图卷积网络)与PPO(近端策略优化)强化学习模型结合的详细代码示例