Python列表(List)的特点与使用指南:如何创建和操作有序可变数据结构
列表(List)

列表的特点
1.用来储存多个数据的数据结构
2.储存的数据是有序的,可使用位置索引
3.列表长度和元素都是可变的
4.可储存不同类型的数据
序列在 Python 中属于最基本的数据结构。每个元素在序列中都被分配了一个数字,这个数字就是它的位置或者索引。其中,第一个索引是 0,第二个索引是 1,接着依次类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
列表是 Python 中很常用的数据类型。它能够以方括号内逗号分隔值的形式呈现。
创建一个列表的方式是,将逗号分隔的不同数据项用方括号括起来。例如:[数据项 1, 数据项 2, 数据项 3]
可以看到并不要求元素的类型必须相同。当然能够定义一个空的列表:
Python 中的 List 是有顺序的。因此,若要访问 List,显然需要通过序号来进行。就如同数组的下标那样,下标也是从 0 开始的。并且还可以使用方括号的形式来截取字符。
List 能够以倒序进行访问,通过“倒数第某个数”这样的下标来体现序号,例如下标为 -1 就意味着倒数第一个元素。
List使用内置的 append() 方法将元素添加到尾部,使用 insert() 方法将元素添加到指定位置(下标从 0 开始)。
使用 pop() 可以删除最后尾部的元素,同时也能够指定一个参数来删除指定位置的元素。
可以使用 del语句来删除列表的元素,如下实例:
元组(Tuple)
Python 的元组类似于列表。元组的元素不能被修改,并且其长度也不可改变。因此,元组常用于安全级别较高的场景应用。
元组使用小括号(),列表使用方括号[ ]。
元组的创建较为简单,只需在括号里添加元素,并且用逗号将这些元素隔开就行。
Tuple 可被视为一种“不变”的 List,其访问方式也是通过下标,并且用小括号()来表示。
创建空元组
元组中只包含一个元素时,需要在元素后面添加逗号
元组和字符串相似,其下标索引是从 0 开始的。它可以进行截取操作,也可以进行组合等操作。然而,它没有 pop 方法、insert 方法和 append 方法。
那么tuple这个类型到底有什么用处呢?
你要知道,若你期望一个函数能返回多个返回值,实际上只需让其返回一个 tuple 即可。因为 tuple 内部包含多个值,并且是不可变的(就如同 java 里面的 final 那样)。当然,tuple 也有可变的情况,例如:
这是因为 Tuple 所谓的不可变指的是其指向的位置不可变。在本例子中,第四个元素不是基本类型,而是一个 List 类型。所以 t 指向的该 List 的位置保持不变,然而 List 本身的内容是可以发生变化的,这是因为 List 本身在内存中的分配并非是连续的。
元组运算符
元组如同字符串一样,能够运用 + 号和 * 号进行运算。这表明它们可以进行组合与复制,经过运算之后会生成一个新的元组。
字典(Dict)
Dict 在 Python 中是极为重要的数据类型。如同其字面含义,它如同一个活字典。实际上,它就是由 Key - Value 键值对构成的。它类似于 HashMap 。可以使用花括号 {} ,就像以定义 C 语言结构体的方式那样去定义它。
键通常是唯一的。如果出现重复的情况,最后的一个键值对会替换前面的键值对。而值不需要是唯一的。
值能够取任何类型的数据,然而键必须是不可改变的,像是字符串,也可以是数字,还可以是元组。
创建字典:
可以直接通过键值对方式添加dict中的元素:
List 和 Tuple 通过下标来获取内容,Dict 则通过 Key 来访问内容。字符串、整型、浮点型以及元组 tuple 都能够作为 dict 的 Key。
如果Key不存在,会报错:
所以访问之前最好先查询下key是否存在:
或者直接用保险的get方法:
遍历一个 dict 时,实际上是在遍历它的所有 Key 的集合,接着用这些 Key 来获取对应的 Value 。
修改字典
向字典添加新内容的方式是增添新的键/值对,对已有的键/值对进行修改或删除,示例如下:
删除字典元素
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,如下实例:
但这会引发一个异常,因为用del后字典不再存在:
字典键的特性
字典值能够取任何 Python 对象,且没有限制,既可以是标准的对象,也可以是用户定义的对象。然而,键不可以这样。
两个重要的点需要记住:
同一个键不允许出现两次。在创建过程中,若同一个键被赋值两次,那么后一个值会将前一个值覆盖,例如以下实例:
键必须是不可变的,因此数字、字符串或元组可以充当键,而列表不行,例如以下实例:
结果就会报错:
合并两个字典
如何将两个Dict合并为一个,可以用dict函数:
或者
后一个方法比前一个方法速度快很多,方法2等同于:
字典包含了以下内置方法:
删除字典内所有元素
返回一个字典的浅复制
创建一个新的字典,将序列 seq 里的元素当作字典的键,而 val 则作为字典所有键所对应的初始值。
返回指定键的值,如果值不在字典中返回default值
如果键在字典dict里返回true,否则返回false
以列表返回可遍历的(键, 值) 元组数组
以列表返回一个字典所有的键
与 get()相近,然而倘若键在字典里并不存在,那么就会添加该键并且把值设定为 default 。
把字典dict2的键/值对更新到dict里
以列表返回字典中的所有值
删除字典中给定键 key 所对应的那个值,该被删除的值会作为返回值。并且必须给出 key 值。
否则,返回default值。
返回并删除字典中的最后一对键和值。
Dict具有的特点:
Set(集合)
储存形式与列表相似:
1.集合中保存的数据具有唯一性,不可重复
2.集合中保存的数据是无序的
3.往集合中添加重复数据,集合将只保留一个
集合常被用来去重或者过滤
set 就如同把 Dict 里的 key 给抽取出来了,它有点类似于一个 List 。然而,它的内容不能重复。我们可以通过调用 set() 方法来创建它。
dict 是无序的,与之类似,set 也是无序的。并且,set 不能包含重复的元素。
访问一个 set 的意义在于查看某个元素是否在该集合里。
也通过for来遍历:
使用 add 和 remove 来进行元素的添加与删除操作(确保元素不重复)。在添加元素时,需运用 set 的 add()方法。
添加元素用add()方法
如果某个元素已经存在于 set 中,那么 add() 函数不会报错,并且也不会将该元素添加进去。
删除元素用remove()方法
如果删除的元素不存在set中,remove()会报错:
所以,若要判断一个元素在一些不同条件内是否符合,那么使用 set 是最为合适的选择。例如:
集合的应用
注意:
集合的遍历与列表的遍历方法相同
以后还会给大家补充 Python 其它的基础知识哦,记得关注小编!