列表、元组、字典、集合之间的关系以及区别

您所在的位置:网站首页 数据字典是描述和说明什么中各元素的词条集合 列表、元组、字典、集合之间的关系以及区别

列表、元组、字典、集合之间的关系以及区别

2024-07-17 21:58| 来源: 网络整理| 查看: 265

目录 1.必看2.列表、元组、字典、集合最基本的创建3.列表4.元组5.字典6.集合

1.必看

1.1列表、元组、字典、集合的区别 列表:顺序存储结构,占更多存储空间(默认存了指针),元素不必相同,用"[]“表示。 元组:元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用“()”表示。 字典:字典定义了键和值之间一对一的关系,但它们是以无序的方式储存的。定义 Dictionary 使用一对大(花)括号”{}"。(其中前三个也可称之为Python的数组类型) 集合:用的比较少,无序不重复元素集。 1.2 序列都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。 1.3为什么有了列表还要有元组、字典、集合? 降低程序的时间复杂度 比如字典:Python字典因为在存储元素时,将key哈希转化到了存储地址,所以如果要在字典里查找某个元素的key,不需要循环字典,只需要进行同样的哈希计算就可以得到了。 1.4本文属于学习笔记,所以很多具体的知识点并没有记录,关于具体知识点可以访问菜鸟教程

2.列表、元组、字典、集合最基本的创建

2.1 列表的创建

a = [1,2,3]

字典的创建(字典中每一对数据都是‘键’和‘值’相对应的)

a = {key1:value1,key2:value2}

元组的创建

t = (1,2,3)

集合的创建

s = {'s','e','t'}

2.2 用list()、tuple()、dict()、set()内置方法转换

s = set([1,2,3]) 3.列表

3.1列表的三个优点: 1.列表里想装啥就装啥,即:他可以包含不同种类、任意类型的对象,甚至可以嵌套列表,专业点的词儿叫:异构性;所以,列表里面的数据可以是不同类型的数据。 2.列表里装的元素都是有顺序的,可以按照位置序号获取单个元素,也可以用分片的方法来进行多个连续元素的获取,来个专业词汇,叫做:有序性。所以,列表的下标可以进行索引和切片。 3.列表的大小和内容可以随意改变,在插入、删除、修改列表元素时,不需要建立一份新的列表拷贝,而是在原来的内存地址上直接修改列表对象。这个叫“本地可修改”。所以,列表可以删除元素,列表拼接等。 3.2列表常见操作和方法 1.列表的索引 2.列表的分片操作 3.列表删除元素 4.列表的拼接 5.列表的重复 6.元素成员判断 7.求列表的长度 8.求列表的最大、最小值 9.在列表中插入元素 10.反转一个列表 11.计算列表中指定元素x的个数 12.查找列表中指定元素的位置 13.列表的排序

4.元组

元组类似于列表,是一个基于位置的有序对象集合,但是元组一旦创建之后就不能更改,因此列表中修改元素的操作对于元组都不适用。

为什么要使用元组?

元组和其他不可变量类似于其他语言中“常量”的声明,它的不可变性提供了某种一致性,这样可以确保元组在程序中不会被另一个引用修改。 Mark Lutz——《Learning Python》中文版

5.字典

5.1常见操作方法

操作解释.key()获取所有键.values()获取所有值.items()获取所有“键+值”元组len()获取键值对的数量.get(key,default)获取键的值,若键不存在,则返回设定的默认值default(默认为None)–与[key]获取值的区别是,get方法遇到键不存在的时候会返回设定值,而直接索引遇到键不存在时会报错“missing-key”dict1.update(dict2)合并两个字典

5.2索引

dict1[key] #key是字典的键,返回的是对应的值value dict1.get(key) #get方法获取键的值,若键不存在,则返回设定的默认值default(默认为None)--与`[key]`获取值的区别是,get方法遇到键不存在的时候会返回设定值,而直接索引遇到键不存在时会报错“missing-key”

5.3遍历

for i in dict1.keys(): print(i, dict1[keys]) # 遍历字典中所有的键,并输出键值对 for i in dict1: ... # 该方法与上述方法等价 for keys, values in dict1.items(): ... # 遍历字典中所有的键值对

5.3排序 1.①借助.keys()方法和list()函数将键提取成list,对list排序后输出

D = {'a':1, 'c':3, 'b':2} D1 = list(D.keys()) D1.sort() for i in D1: print(i, D[i]) # 输出: # a 1 # b 2 # c 3

②借助内置的sorted()函数可对任意对象类型排序,返回排序后的结果。 tips:对于sorted(字典)来说,返回的是排序好的keys(以list的形式)

D = {'a':1, 'c':3, 'b':2} for i in sorted(D): print(i, D[i]) # 输出: # a 1 # b 2 # c 3

2.用字典的值对字典进行排序,将{1: 2, 3: 4, 4:3, 2:1, 0:0}按照字典的值从大到小进行排序。

a = {1:2,3:4,4:3,2:1,0:0} sorted_a = sorted(a.items(),key=lambda a:a[1],reverse=False) print(sorted_a)

★sorted(iterable, key=lambda a:a[1], reverse=False) ①其中iterable是可迭代对象 ②reverse = True 降序 , reverse = False 升序(默认) ③key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 ④key=lambda a:a[1],是个lambda表达式,冒号右边的值返还给a。而a[1]表示a下标为1的值返还给a,最后,lambda表达式的值让key这个变量来指向。

6.集合

6.1

为什么使用集合? 1.由于集合内元素是不重复的,因此可以将list或其他类型的数据转换成集合,从而过滤掉其中的重复元素 2.通过集合的交并补等操作,可以比较列表、字符串以及其他可迭代对象的差异。

6.2集合的常用操作

set1 `&` set2 #交运算 set1 `|` set2 #并运算 set1 `-` set2 #差运算,set1减去set1 `&` set2部分

6.3集合的常用方法

set1.add('x') #添加元素。注意:集合中只能包含可哈希的对象,即list,dict都不能嵌入到集合中 set1.union(...) #取并集,效果等同于 | ,但是括号里可以是list,tuple,其他dict甚至是dictset1.intersection(...) #取交集,同上set1.issubset(set2) #判断set1是否是set2的子集


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3