栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

集合---python序列数据类型

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

集合---python序列数据类型

文章目录
  • Python集合(collection)
  • 一、元组
  • 二、列表
  • 三、字典
  • 四、集(set)
  • 五、内置函数

Python集合(collection)

python的标准集合类型可以保存对象引用,因此实际上它们可以保存任何类型对象的集合。内置的一些集合类型有tuple(元组)、list(列表)
和字典(dictionary)、set(集)。除了元组之外,其他都是可变的,因此可以对列表、字典和集中的元素进行添加和删除。在collection模块中,还额外提供一些可变的集合类型(大家可以自行了解)。

一、元组

元组是一个由零个或者多个对象引用所组成的有序序列。元组入字符串一样,也支持len()这样的序列函数,或者从元组中提取元素。但是元组是不可变的,因此不能替换或者删除元组中的任何一个元素。那如果想要对于原先已有的元组进行修改,将其转换成列表进行修改即可。

empty = ()
print(type(empty))
one = ("Candy")
print(type(one))
two = ("Candy",)
print(type(two))
输出:



索引与切片:

name = ('Tom','Jack','Bob','Brenda','Jerry')
print(len(name))
print(name[1])
print(name[:3])
输出结果:
5
Jack
('Tom', 'Jack', 'Bob')
pets = (('dog',1),('cat',2),('deer',3))
print(pets)
print(pets[2][1])
print(pets[1])
输出:
(('dog', 1), ('cat', 2), ('deer', 3))
3
('cat', 2)

任何序列都可以通过传递给元组的构造函数,从而创建一个元组。

a = tuple('some text')
print(a)
输出:
('s', 'o', 'm', 'e', ' ', 't', 'e', 'x', 't')
二、列表

list(列表)类型是一个月元组tuple类似的有序序列。在之前的字符串与元组中所用到的全部序列函数和切片操作,对列表也完全有效。列表与元组所不同的地方在于,列表是可变的,可以进行增删改查。

#建立空列表
ls_1 = []
ls_2 = list()

切片示例:

fruit = ['apple','orange','banana','haw','cherry']
print(fruit[-1])
print(fruit[:2])
print(fruit[2:5])
输出结果:
cherry
['apple', 'orange']
['banana', 'haw', 'cherry']

插入或者删除列表元素;

fruit = ['apple','orange','banana','haw','cherry']
print(fruit)
fruit.insert(4,'Rowan')
print(fruit)
del fruit[4]
print(fruit)
fruit.remove('apple')
print(fruit)

del可以移除一个特定索引位置的元素,而remove()方法则用来移除某个元素。

输出:
['apple', 'orange', 'banana', 'haw', 'cherry']
['apple', 'orange', 'banana', 'haw', 'Rowan', 'cherry']
['apple', 'orange', 'banana', 'haw', 'cherry']
['orange', 'banana', 'haw', 'cherry']

用切片同样可以来完成操作;

fruit = ['apple','orange','banana','haw','cherry']
print(fruit)
fruit[4:4] = ['Rowan']
print(fruit)
fruit[4:5] = []
print(fruit)
输出:
['apple', 'orange', 'banana', 'haw', 'cherry']
['apple', 'orange', 'banana', 'haw', 'Rowan', 'cherry']
['apple', 'orange', 'banana', 'haw', 'cherry']

浅复制和深复制;
python中对象质之间是按引用传递的,如果需要复制对象,可以使用标准库中的copy模块。(这个问题在实际应用过程中,很少遇到)

  • copy.copy是浅复制,只会复制父对象,而不会复制对象内部的子对象;
  • copy.deepcopy是深复制,会复制对象及其子对象。

列表的部分放大和函数;

语法说明
x in L如果元素x在list L 中,返回 True
x not in L如果元素x不在list L中,返回 True
L + m返回一个含有list L和列表m全部元素的列表;extend()方法可以完成同样的事情,且效率更高
len(L)返回list L 的长度
L.count(x)返回列表 L 中元素x出现的次数
L.index(x)返回list L中元素x出现处最左侧的位置索引
L.append(x)把元素x追加到列表的末尾处
L.extend(m)把列表m的元素追加到list L的末尾处
L.insert(i , x)把元素x插入到list L中索引值为i的地方
L.remove(x)从列表L中移除最左侧出现的元素x,或者在没找到x的时候,抛出ValueError异常
L.pop()返回并从列表L中移除最右侧的元素
L.pop(i)返回并从列表L中移除位置索引为i的元素
L.reverse()依次逆序排列列表L中的各元素
L.sort()依次排序列表L中的各元素;这个方法可以带一些可选参数,比如函数或者带一个便于DSU排序的键值(key)
三、字典

字典dict类型是一个数据字典,也称为关联数组。字典可以保存无序的键-值(key-value pair)对集,并可提供快速的键查询功能。键(key)是唯一的,并且必须是不可变的数据类型,如python字符串、数字或者元组;值(value)可以是包括集合类型在内的任何类型,因此可以创建出任意的嵌套数据结构。

dic = dict()
dic_insects = {}
print(type(dic_insects))
insects = {'dragonfly':5000,'praying mantis':2000,'fly':120000,'beetle':350000}
print(insects)
insects['grasshopper'] = 20000
print(insects) 
输出:

{'dragonfly': 5000, 'praying mantis': 2000, 'fly': 120000, 'beetle': 350000}
{'dragonfly': 5000, 'praying mantis': 2000, 'fly': 120000, 'beetle': 350000, 'grasshopper': 20000}

删除的方法和列表中删除元素的方法相同;

del insects["fly"]
insects.pop('dragonfly')

使用构造函数dict()可以创建字典;

dic = dict(A=100,B=200,C=300)
print(dic)
输出:
{'A': 100, 'B': 200, 'C': 300}

字典的部分方法与函数:

四、集(set)

python提供了两种set集类型:集set 和原封集frozenset。两者都是无序的,但集set是可变的,可以进行添加和删除。原封集frozenset是不可变的,不可以改变其元素。
集set中的每个元素是唯一的;想要在集set中添加一个已经存在了的元素,调用add()函数后不会做任何事。
这里我们创建集set,而不是原封集,原封集自行了解。

unicorns = set(('Narwhal','Oryx','Eland'))
print(unicorns)
print('a' in unicorns)
print('Narwhal' in unicorns)
输出:
{'Narwhal', 'Oryx', 'Eland'}
False
True
unicorns.add('Mutant Goat')
print(unicorns)
unicorns.add('Oryx')
print(unicorns)
unicorns.remove('Narwhal')
print(unicorns)
输出:
{'Mutant Goat', 'Eland', 'Narwhal', 'Oryx'}
{'Mutant Goat', 'Eland', 'Narwhal', 'Oryx'}
{'Mutant Goat', 'Eland', 'Oryx'}

这些集set也支持标准的集运算操作,例如,并集、交集以及差集。

a = set('abcde')
b = set('abchijlk')
print(a - b) # 集合a中包含而集合b中不包含的元素
print(a | b) # 集合a或b中都包含的元素 
print(a & b) # 集合a和b中都包含的元素
print(a ^ b) # 不同时包含于a和b的元素

集set的部分方法和函数;

五、内置函数

与序列相关的部分内置函数和运算符;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/444511.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号