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获得

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值