python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python数据容器

python数据容器总结示例详解

作者:-杨豫

本文主要介绍了Python中的数据容器,包括列表、元组、字符串、集合和字典,每种数据容器都有其独特的定义、操作方法和特点,感兴趣的朋友跟随小编一起看看吧

数据容器:可以容纳多份数据的数据类型,容纳的每一份数据称为元素,可以是任意类型的数据

1.  列表(list)

1.1  列表(list)的定义格式

 列表基础3种格式:

#列表格式(语法)
#字面量
[元素1,元素2,元素3,元素4,···]
#定义变量
变量名称=[元素1,元素2,元素3,元素4,···]
#定义空列表
变量名称=[]
变量名称=list[]

注意:

1.列表可以一次存储多个数据,可以是不同的数据类型,支持嵌套

1.2  列表嵌套的格式

#列表格式(语法)
#字面量
[[元素1,元素2],[元素3,元素4],···]
#定义变量
变量名称=[[元素1,元素2],元素3,元素4,···]

1.3  列表的下标索引

列表的每一个元素都有其对应的下标索引,从左到右,从0开始依次递增,可以理解range包头不包尾

1.4  列表的常用方法

将函数定义为类(class),函数就会被称为:方法

#以上次定义的add函数举例分析不同    
def add(x,y)                        函数
     ruturn x+y
调用方法:num=add(1.2)
函数改为下面形式就被称为方法
class Student:
    def add(self,x,y):               放入class内部为方法
        ruturn x+y
调用方法:Student=Student()
         num=Student.add(1,2)    对于函数的调用我们要用点才能去用

1.4.1  确认某元素是否在列表内

语法:元素 in 列表变量(在里面给True,不在给False)

age=[18,[21,22],45,[66,81]]
print(18 in age)
运行结果:True

1.4.2  查找某元素下标

语法:列表名称.index      (注意有.)(index是列表内置自带的方法)

age=[18,[21,22],45,[66,81]]
print(age.index(18))
print(age.index([21,22]))
运行结果:0
         1

1.4.3  插入元素

语法:  列表.insert(下标,元素),在指定位置输入指定元素,当下标超出列表索引范围,则相当于在尾部新增一个元素

sum=[1,2,3,4]
sum.insert(1,'今天天气真好')
print(sum)
运行结果:[1,'今天天气真好',2,3,4]

1.4.4  追加尾数(2种方法)

(1)一个的语法:  列表.append(元素)        将一个指定元素追加到列表尾部。
num=[1,2,3,4]
num.append('我喜欢小猫')
print(num)
运行结果:[1,2,3,4,'我喜欢小猫']
(2)一批的语法:  列表.extend(其他数据容器)

加一批进去,将其他数据容器的内容取出,依次追加到列表尾部

num=[1,2,3,4]
num.extend([1,5,8,9])
print(num)
运行结果:[1,2,3,4,1,5,8,9]

1.4.5  删除元素(2种方法)

语法1(删除指定元素):  del列表[下标]
语法2(删除指定元素):  列表.pop(下标)

与del不同的是,pop有返回值,返回的是:被删除的元素,如果需要的话可以用变量接受它

num=[1,2,3,4,5,6]
del num[0]
num.pop(4)
print(num)
运行结果:[2,3,4,5]
语法3(删除某元素在列表中第一个匹配项):
num=[1,7,5,3,4,5,5]
num.remove(5)
print(num.remove(5))
运行结果:[1,7,3,4,5,5]

1.4.6  清空列表

语法:  列表.clear()

num=[1,2,3,4,5,6]
num.clear()
print(num)
运行结果:[]

1.4.7  修改特定位置(索引)的元素值

语法:  列表[下标]=值,用该语法,直接指定下标(反向/正向)进行重新赋值

num=[1.2.3]
num[0]=5
print(num)         运行结果:[5,2,3]
num[-2]=10
print(num)         运行结果:[5,10,3]

1.4.8  统计元素列表个数

1.语法(统计某元素在列表中的个数):  列表.count(元素)

num=[1,7,7,3,4,5,5]
num.count(7)
print(num.count(7))
运行结果:2

2.语法(统计列表总共多少元素):len(列表)                        这个是python内置函数统计一切个数

num=[1,2,3,4,5,6,7,8,9]
len(num)
print(len(num))
运行结果:9

1.5  总结(不能死记硬背)

1.6  列表的遍历

遍历/迭代:数据容器可以储存多个数据,有需求依次从容器内取出元素的操作,称为:遍历/迭代。

1.6.1  while循环遍历列表元素

语法(控制循环条件实现遍历):控制因子<len(列表):
num=[1,3,5,7]
i=0                            #控制因子
while(i<len(num)):
      print('喜欢晴天')
      i+=1                     #因子更新
运行结果:'喜欢晴天'
         '喜欢晴天'
         '喜欢晴天'
         '喜欢晴天'

1.6.2  for循环遍历列表元素

语法:  for 临时变量 in数据容器:

             对临时变量(元素)进行处理

num=[1,3,5,7,9]
i=0
for i in num:
    print(i)
运行结果:1            注意:i在for循环中是循环变量,会依次取列表num里的元素
         3                  和之前的i=0没有关系
         5
         7
         9
对比:for循环更合适对列表等数据容器进行遍历(更加简单)。

2.元组(tuple):元组一旦定义完成,就不可修改。

2.1  元组定义格式:

#定义元组字面量                            
(元素,元素,···,元素)
#定义元组变量
变量名称=(元素,元素,···,元素)
#定义空元组
变量名称=()
变量名称=tuple()
#特殊:定义一个元素的元组
变量名称=('你好',)         1.字符记得加引号
                        2.数据后要带逗号,否则不是元组类型

2.2  元组嵌套(说明元组也有下标,可以通过下标取值)

#元组嵌套
num=(1,(2,3,4),5,(6,7),8)
#通过下标取值
print(num[1][1])
运行结果: 3

2.3  元组相关操作(3个用法和列表使用语法一样):

1.index()      2.count()      3.len()

2.4  元组不能改值,但是元组内部列表(list)是可以动的

num=(1,2,3,4,[5,6,7],8)
num[4][1]=99
print(num)                除此以外列表的其他功能也可以用
运行结果:(1,2,3,[5,99,7],8) 

2.5  元组的遍历

while和for循环遍历它:与遍历列表一样,但是唯一不同的一个是[ ],一个是(),格式一样

2.6  元组与列表的唯一区别

列表可以修改元素,元组不可以,另外还有符号区别,其他都一样

3.字符串(str):与元组一样不可修改

定义:可以存放任意数量字符的容器,无法修改的数据容器

3.1下标操作:

a="loveyou"
print(a[2])
print(a[-3])
运行结果:v
         y

3.2字符串常用操作总结

a="loveyou爱你"
#1.  查找符合值的下标
print(a.inpex("爱你"))    运行结果:7
#2.  字符串替换,将字符串内的字符(符号)替换成其他符号
a="love|you|爱你"
a2=a.replace(_old:"|",_new:",")
print(a2)                 运行结果:"love,you,爱你"
print(a)                  运行结果:"love|you|爱你"
#字符串本身无法修改,replace函数是返回一个修改后的字符串
#3.  字符串的分割split(分隔符)
     按指定分隔符将字符串分隔成子串封装进列表
a="love|you|爱你"
num=a.split("|")
print(num)                运行结果:['love','you','爱你']
#4.  字符串的规整操作
(去前后空格)
a="   love|you|爱你   "
print(a.strip())          运行结果:"love|you|爱你"
(去前后指定字符串)
a="love|you|爱爱你你"
print(a.strip(爱你))      运行结果:"love|you|"
#5.  统计字符串某字符出现次数
a="veryloveyou爱你"
print(a.count("v"))       运行结果:  2
#6.  统计字符串长度
a="love|you|爱你"
num=len(a)
print(num)                运行结果:10

3.3  字符串遍历,于列表一样

补充:序列的切片语法

4.集合(set)

特点:不支持元素的重复(自带去重功能),并且内容无序,因为集合是无序的,所以不支持下标索引,允许修改

4.1  定义语法:

#定义语法
{元素,元素,···,元素}
#定义集合变量
变量名称={元素,元素,···,元素}
#定义空集合
变量名称=set()

4.2   去重无序:

a={"aaa","aaa","bbb","ccc"}
print(a)
因为去重无须
运行结果:{"ccc","aaa","bbb"}

4.3  集合常用操作

4.3.1 . 添加新元素(语法:集合.add(元素))

a={"loveyou"}        注意:只能添加,不知道添加到哪一个位置
a.add("爱你")
print(a)
运行结果:{"loveyou","爱你"}  

4.3.2.  移除元素(语法:集合.remove(元素))

a={"aaa","aaa","bbb","ccc"}
a.remove("aaa")
print(a)                注意是无序的
运行结果:{"ccc","bbb"}

4.3.3.从集合随机取出元素(语法:集合.pop())与列表一样,但是由于无序所以不能指定取数,变无序取了

4.4.4.  清空集合(语法:集合.clear())

4.4.5.(取出///消除)两个集合的差值

4.4.6.集合合并

4.4.7.集合功能总结

4.4.8  只支持for循环遍历

5.字典(dict)

5.1  字典的语法定义(同样是{},但是每一个元素是键值对)

#定义字典字面量
{key:vlue,key:vlue,key:vlue,···,key:vlue}
#定义字典变量
a={key:vlue,key:vlue,key:vlue,···,key:vlue}
#定义空字典
a={}
a=dict{}

key不可重复,重复会对原有数据覆盖

字典和集合一样,不可以使用下标索引。语法:字典可以通过key取到对应的value(检索)

key可以是任意类型(不可以是数据容器)

value可以是任意类型(可以是数据容器)

5.2  字典常用操作

5.3  字典的特点

6.  数据容器对比

到此这篇关于python数据容器总结介绍的文章就介绍到这了,更多相关python数据容器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文