[Python 实战] - No.6 List、Tuple,Dict

一、List

List,也就是我们常说的列表,是python内置的一种数据类型。形如:['Alice','Bob',''Cindy]。

List是有序的集合,也就是说我们可以对列表进行排序。对于列表的具体操作分别为构造,增,删,改,遍历,排序等。

构造List的方法很简单,直接声明一个空的List、然后对该List进行追加元素


我们构造完空的List以后,需要使用append()函数来在列表尾部追加元素,或者使用insert(index,obj)来在指定位置插入元素。List中的元素是可变的,同时由于python是一种动态语言,所以列表中的元素可以不是同一个类型的。

另外要注意,我们可以使用[]索引来更改List中已经存在的某个元素的值(这在Tuple中是不可以的),但是我们不能直接使用[]索引来增加元素。同时,在python中我们是可以使用负数索引的,-1即代表最后一个

我们使用pop(index)来删除元素,默认参数为-1,即删除最后一个元素。


python中的遍历十分的简单,只需要使用for循环即可:


扫描二维码关注公众号,回复: 1817367 查看本文章

对List、Dict进行排序,Python提供了两个方法
1.用List的成员函数sort进行排序。不返回列表,元列表排序后有序
2.用内置函数sorted进行排序(从2.4开始)返回排序后的有序列表 元列表元素不变


更改 func函数中的返回值,即可实现逆序

在前一章,我们讲到了切片,同样,List和Tuple也都适用于切片

最后,列表可以直接使用列表生成式来简单的生成列表,例如:

1.生成1-10中的奇数列表


2. 生成100以内平方数


3.使用多层表达式生成列表:



二、Tuple

元组可以说是另外一种有序的列表,英文为Tuple,Tuple中的一旦创建了,就不能更改了。但是,如果元组中含有一个列表,该列表的值是可以更改的,但是不可将该列表更改为其他元素。

例如:


元组相对列表比较简单。由于元组的不可更改性,所以元组在构造以后,无法对元组进行追加,删除等操作。元组使用del 来删除整个元组

由于括号也可以表示算数运算的符号,所以当我们声明单一元素元组的时候,我们需要添加“,”来进行区别


列表和元组的转换也很简单,使用tuple(list)来返回一个元组,tuple的遍历和List相同


三、Dict

Dict就是我们常说的键值对数据结构,类似于java中的Map,形如:


由于dict在存储的时候是无序的,所以dict中的索引,不像list和tuple中可以直接获取到元素,而是根据key值获取value值。但是我们可以使用sorted()函数来对dict进行排序,注意这里的排序并没有改变dict的结构,只是按照某种顺序使得dict可以有序的打印出来

对dict的操作也主要有构造,增加,删除,修改,遍历,排序

构造dict有很多种方法,这里主要列举几个常用的:

1. 直接声明一个字典:


2. 声明一个空字典,然后追加:


3. 将两个元组使用 zip连接起来:


4. 使用dict.fromkeys,提供默认键值,如果不提供balue,则默认为None


如果我们在字典中,添加了两个相同键的键值对,只有第二个会被记住。同时,由于字典中的键值是不能改变的,所以字典中的键值不能为列表,可以为元组,数字和字符串

删除字典分为:清空字典元素,删除某个字典条目,和删除字典


使用items()来遍历字典:


dict可以分别对字典中的键排序(返回一个键值的有序列表),值排序(值得有序列表)和键值对排序(键值对按照某个排序方法的有序列表)


键值对排序(按照值排序):


这里使用到了lambda表达式,lambda表达式可以很简单的表达一个函数,冒号前为形参,冒号后为要返回的值。在这里的作用是声明排序的key值

同时,附上sorted函数的声明,一目了然:



P.S.文章不妥之处还望指正


猜你喜欢

转载自blog.csdn.net/tjuyanming/article/details/78308381