(五)容器类型数据

一、序列

  1. 序列:一种可迭代、元素有序的容器类型数据。

  2. 序列的索引操作:

  • 通过索引来访问序列里的元素。

  • 正值索引:从0开始,从左到右。
    请添加图片描述

  • 负值索引:最后一个元素索引为-1,从右到左。
    请添加图片描述

3.加和乘操作

>>>a = 'Hello'
>>>a * 2
'HelloHello'
>>>a *= 2      # *= 是采赋值运算符,a *= 2相当于a = a * 2
>>>a
'HelloHello'
>>>a = 'Hello' + ','
>>>a
'Hello,'
>>>a += 'World'  # += 是加赋值运算符,a += 'World' 相当于a = a + 'World'
>>>a
'Hello,world'

4.切片操作
(1)语法: [ start : end : step]

  • start: 开始索引
  • end:结束索引
  • step:步长
  • 步长:切片时获取的元素的间隔,可以是正整数(从左往右切),也可以是负数(从右往左切)。

(2)切下来的小切片包括start位置的元素,但不包括ens位置的元素,start和end都可以省略。

(3)省略开始索引,默认开始索引是0;省略结束索引,默认结束索引是序列的长度。
请添加图片描述

请添加图片描述
5.成员测试
(1)运算符

  • in : 用于测试是否包含某一个元素。
  • not in :用于测试是否不包含某一个元素。

二、列表

1.列表:一种可变序列类型,可以追加、插入、删除和替换列表中的元素。

2.创建列表

  • list ( iterable ) 函数
    ——>即列表的构造函数。
  • [ 元素1,元素2,元素3,… ]
    请添加图片描述
    3.追加元素
  • 在列表中追加单个元素时,可以使用列表的append(x)方法。
  • 在列表中追加多个元素时,可以使用加(+)运算符或列表的extend(t)方法请添加图片描述
  • 例如:
>>>list = [20,10,50,30]
>>>list.append(80)   #在列表后面追加一个元素,不能同时追加多个元素。
>>>list
[20,10,50,30,80]
>>>list = [20,10,50,30]
>>>t = [1,2,3]
>>>list += t   #使用+=运算符追加多个元素。
>>>list
[20,10,50,30,1,2,3]
>>>list = [20,10,50,30]
>>>list.extend(t)   #使用extend()方法追加多个元素。
>>>list
[20,10,50,30,1,2,3]

4.插入元素

  • 向列表插入元素时,可以使用列表的list.insert(i,x)方法
    请添加图片描述

5.替换元素

  • 替换列表中的元素时,将列表下标索引放在赋值符号(=)的左边,进行赋值即可。请添加图片描述

6.删除元素

  • 使用列表的list.remove(x)方法
  • 如有重复多个相同数值的元素,只会删除第一个。

请添加图片描述

三、元组

1.元组:是一种不可变序列类型

2.创建元组

  • tuple(iterable)函数
  • (元素1,元素2,元素3,…)请添加图片描述
#创建一个有4个元素的元组,创建元组时使用小括号把元素括起来,或省略
>>>21,32,43,45
(21,32,43,45)  #运行结果
>>>('Hello','World')   #创建字符串元组
('Hello','World')
>>>('Hello','World',1,2,3)  #创建字符串和整数混合的元组
('Hello','World',1,2,3)
>>>tuple('Hello')   #通过tuple()函数创建元组
('H','e','1','1','0')
>>>tuple([21,32,43,45])   #通过tuple()函数创建元组
(21,32,43,45)
>>>t = 1   #创建一个只有一个元素的元组,元素后面的逗号不能省略
>>>t
(1,)
>>>type(t)
<class 'tuple'>
>>>t = (1,)   #创建一个只有一个元素的元组,元素后面的逗号不能省略
>>>type(t)
<class 'tuple'>   
>>>a = ()    #通过()可以创建空元组
>>>type(a)
<class 'tuple'> 

3.元组拆包

  • 打包
    请添加图片描述

  • 拆包
    请添加图片描述

>>> s_id,s_name = (102,'张三')
>>>s_id
102
>>>s_name
'张三’
 
#将元组(102,‘张三’)拆包到变量s_id和s_name

四、 集合(set)

1.是一种可迭代、无序的、不能包含重复元素的容器类型的数据。

2.创建集合

  • set(iterable)函数
  • {元素1,元素2,元素3,…}请添加图片描述

3.修改集合

  • add(elem): 添加元素,如果元素已经存在,则不能添加,不会抛出错误。
  • remove(elem): 删除元素,如果元素不存在,则抛出错误。
  • clear():清除集合。
>>>s_set = {'张三','李四','王五'}
>>>s_set.add('董六')   #添加元素
>>>s_set
{'王五','张三','李四','董六'}
>>>s_set.remove('李四')   #通过remove()方法删除元素,由于要删除的'李四'已经不在集合中,所以会抛出错误。
>>>'李四’ in s_set   #在集合中也可以使用成员测似运算符in和not in
False
>>>s_set
{'王五','张三','董六'}
>>>s_set.remove('李四')
Traceback (most recent call last):
	File "<pyshell#14>",line 1, in <module>
	s_set.remove('李四')
KeyError: '李四'
>>>s_set.clear()
>>>s_set
set()

五、字典(dict)

1.是迭代的、通过键(key)来访问元素的可变的容器类型的数据。

2.键视图不能包含重复元素,值视图能。

3.在键视图种,键和值是成对出现的。

4.创建字典

  • dict()函数
  • {key1:value1,key2:value2,…,key_n:value_n}
    请添加图片描述

5.修改字典:都是针对键和值同时操作的,对字典的修改包括添加、替换和删除。

>>>dict1 = {102: '张三',105:'李四',109:'王五'}
#通过字典键返回对应的值
>>>dict1[109]  
'王五'
>>>dict1[110] = '董六'   #通过110键赋值,如果此时在字典中没有110键,则添加110:‘董六’键值对。
>>>dict1
{102:'张三',105:'李四',109:'王五',110:'董六'}
>>>dict1[109] = '张三'  #将109键对应的值替换成‘张三’
>>>dict1
{102:'张三',105:'李四',109:'王五',110:'董六'}
>>>dict1.pop(105)  #使用字典的pop(key)方法删除键值对,返回删除的值
'李四'
>>>dict1
{102:'张三',109:'张三',110:'董六'}

6.返回字典视图

  • items():返回字典的所有键值对试图。
  • keys():返回字典键视图。
  • values():返回字典值视图。
>>>dict1 = {102: '张三',105:'李四',109:'王五'}
>>>dict1.items()
dict_items([(102,'张三'),(105,'李四'),(109,'王五')])
>>>list(dict1.items())
[(102,'张三'),(105,'李四'),(109,'王五')]
>>>dict1.key()
dict_keys([102,105,109])
>>>list(dict1.keys())
[102,105,109]
>>>dict1.value()
dict_values(['张三','李四','王五'])
>>>list(dict1.values())
['张三','李四','王五']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤傲倾城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值