3.1 列表(list),元组(tuple)和字典(dict)

如下是李刚老师《疯狂python讲义》的学习笔记

如有侵权,联系删除

努力是信仰,坚持是脚步,代码改变世界!

python的序列:我感觉序列就是有索引的用来存放数据的数据结构,字符串,列表,元组都属于序列。

       在具体的编程过程中,如果只是固定地保存多个数据项,则不需要修改它们,此时就应该元组,反之,就应该使用列表。

创建列表和元组:列表: ['crazyit',20,'python']       元组:('crazyit',20,'python')

列表和元组的通用方法:使用[  ]来索引某些元素,python中()好像都是用于函数输入

                                       加法+,同类才能相加,相加就是两者进行左右拼接。

                                       乘法*,就是进行数量个该元素的左右拼接

                                       注意:('th')  和 'th' 是一样的只是字符串,写成元组形式必须: ('th',) 加上逗号

                                       in/not in   : 判断元组和列表是否包含某个元素    print('a' in ('a','b'))

                                      长度len(),最大值max(),最小值(),这里比较最大值最小值要求元组或者列表中的数据是相同类型,且可以比较大小。

           序列封包和序列解包:

                                              程序把多个值赋给一个变量时,python会自动将多个值封装成元组。这种功能被称为序列封包。

                                             vals = 10,20,30    此时,vals就是一个元组,每个元素就是10,20,30

                                              程序允许将序列(元组或者列表)直接赋给多个变量,此时序列的各元素会被依次赋值给每个变量(要求序列的元素个数和变量个数相等)。这种功能成为序列解包。

                                               a,b,c = vals   这个过程就是元组解包,此时 a = 10,b=20,c=30。列表也可以进行解包过程

                                    同时进行序列封包和序列解包机制: x,y,z  = 10,20,30 

                                   部分解包,*,:   first,second,*rest = rang(10),       此时first = 1, second = 2,  rest = [3,4,,,10],这里为什么是列表呢???

使用列表: 列表实际上可以看作是元组的加强版,可以对其中的元素进行操作。虽然大部分时候都可以使用列表来代替元组,但如果程序不需要修改列表所包含的元素,那么使用元组代替列表会更安全。

                  创建列表:[] 以及 list()函数:将元组,range等对象转换为列表,,,同理,tuple()函数,将列表,区间等对象转换为元组。

                  增加列表元素:append()函数:将添加的东西都看作一个元素,添加到列表内,这样就形成了列表套列表,列表套元组的现象。

                                          extend()函数:将要添加的东西,都看成一个个元素,添加到列表末尾,拼接。

                                          insert(id,元素)函数:在某id位置插入元素(元组,或者列表)

                  删除列表元素:del   注意这个使用方法是如  del   vals[slice]   ,而其他函数使用方法  vals.append()。

                                                             del还可用于删除普通变量   del  name 

                                       remove()函数,删除第一个找到的要删除的元素进行删除

                                       clear()函数,清空列表中的所有元素。

                修改列表元素:可直接通过a_list[id] = 新元素  进行列表元素修改

                                         可直接通过a_list[slice] = 新元素    进行列表修改,,这个方法使用灵活的话,实现了 插入,删除,功能。

                列表的其他使用方法: dir(list)  就能看到。

使用字典:字典就像人为创建的两组数据,第一组数据和第二组数据之间一一对应,第一组数据就叫做key,第二组数据叫做value,数据形式各种都有

                 创建字典{},如{key1:value1,key2:value2},这里需要注意的是好像这种形式key不能为列表形式,可以为元组形式。????

                 创建字典dict(),这个函数的输入可以是列表或者元组作为key-value对,同时这些列表或者元组只能包含两个元素

      key相当于value的指针,程序对字典的操作都是基于key的,指针索引的话还是固定形式[key]。

     增加新key-value对,只需要为不存在的key幅值即可,   >>>score[不存在key] = value

                删除key-value对,  >>> del  scores[key]

                判断字典是否包含某个key  >>> key  in score

               注意:列表不允许对不存在的索引赋值;但字典可以直接对不存在的key赋值。

    字典的常用方法  dir(dict)

      使用字典格式化字符串

                        >>> temp = '书名是:%(name)s'

        >>>book = {'name':'疯狂python'}

                        >>>print(temp % book)

猜你喜欢

转载自www.cnblogs.com/tangmixun/p/12283198.html
3.1