python学习之容器(一)

类型

在python中,容器主要有list,tuple、dict、和set。
1、list
list在其他语言中,可以看组是一个数组,和C语言相同的是索引从0开始
2、tuple
静态的list,数组中的元素无法修改
3、dict
字典,可以看作是key=>value形式,
4、set
集合,高中数学课本就讲过,集合是一种没有重复值的数的集体。因此,我们可以把集合可以看作是一种特殊的数组,该数组内部没用重复的值。

操作

1、list和tuple的操作
list是可变数组,tuple是静态数组,静态数组是指内部元素无法变化,不能修改内部值,不能插入新的值,不能删除旧的值。list在声明时使用的是[],tuple在声明的时候使用的是()

l = [1, 2, 3]
t= (1, 3, 4)

访问
通过使用索引可以对数组进行访问,例如下面的代码是对数组的第二个值进行访问

s = [12, 3, 43, 5]
print(s[1])

查找
查找的意思是查看数组里面是否存在特定的值,可以通过调用index函数进行操作,如果对应的数组中没有特定的值时,index函数就会返回ValueError错误。

s = [12, 3, 43, 5]
print(s.index(3))
print(s.index(33))

上面的代码执行的结果如下图,由于33在数组中没有查找到,所以python编译器直接返回一个错误
在这里插入图片描述
插入
插入包括单个元素插入和将其他数组进行插入,单个元素插入需要调用append函数,如果是将一个数组插入到另一个数组时,则需要调用extend函数。

s = [12, 3, 43, 5]
s1 = ["dfb", "insi"]
s.append(88)
print(s)
s.extend(s1)
print(s)

在这里插入图片描述

删除
对元素进行删除时,则需要调用del函数,该del函数不是数组对象的方法,它是一个全局函数,后面介绍的字典也是通过该函数进行删除的,下面的代码是将数组中第三个值删除

s = [12, 3, 43, 5]
print(s)
del(s[2])
print(s)

在这里插入图片描述
遍历
遍历一个数组可以通过使用for value in list语法进行访问,也可以通过for index in range(len(list))语法

s = [12, 3, 43, 5]

for value in s:
    print(value)

2、dict
字典是只用key=>value形式,key是唯一不重复的。如果学习了C++语言的,可以和C++语言中的map进行类似,但是和C++中的map有所不同的是python中的字典是无序的,底层是通过哈希表进行存储,C++中的map是通过红黑树进行存储的。字典的声明形式是使用{},例如下面的例子。

d = {"sds":"sfvs"}

遍历
字典的遍历可以通过使用for index in dict语法或者使用for inedx,value in dict.items()语法进行遍历

d = {"a": "dfvbo", 2: "sfvno", "fv": 31}
for index in d:
    print(d[index])

for index, value in d.items():
    print(str(index) + " : " + str(value))

执行的结果如下图所示
在这里插入图片描述
查找
由于字典都是通过key来标记一个值的,因此字典的查找也就变成了字典中是否存在相关的key。

if 2 in d:
    print(d[2])
else:
    print("2 not in d")

插入
字典的插入相对比较简单,可以直接使用dict[key] = value语法进行插入。如果在字典中存在之前的key时,value则会覆盖之前的value

d = {"a": "dfvbo", 2: "sfvno", "fv": 31}
print(d["a"])
d["a"] = "net value"
print(d["a"])

执行结果如下,新插入的值覆盖了旧的值了
在这里插入图片描述

删除
字典的删除也是调用的是del函数,和上面的数组类似,直接删除地址的key值。

set将在python学习之容器(二)中讲解

以上所有样例的代码可以在git获得

发布了54 篇原创文章 · 获赞 9 · 访问量 1223

猜你喜欢

转载自blog.csdn.net/qq_29983883/article/details/105419521
今日推荐