python之列表、字典的使用

一、概述:以后你在Linux里面写Python脚本的时候会经常用到Python列表、字典,因为你在以后写脚本的时候,大多数情况下都是对文件进行操作处理,使用字典和列表可以很好的操作文件,得出你想要的结果。(在以后的文章里,都是使用的Python3对代码进行的解释)

二、列表

     定义一个空的列表: list = []

      <1>,往列表中添加一个元素aa:list.append('aa') ==》print(list) ==>['a']

      <2>,删除刚才的元素: list.remove('aa')  ;与之相似的一个方法是clear(),只是clear()是清楚列表中所有的元素。

      <3>,方法copy,也叫作浅copy,拷贝的是原对象所对应的内存空间;而模块copy的方法deepcopy是深copy,拷贝的是实实在在的对象,通过下面这个例子可以说明:

              list = [1,2,[3,4]] 

              list1 = list.copy()

              list[2].append(5)   ==>最终输出list和list1,发现里面的元素都是一样的。

              如果是Import copy这个模块,然后使用list1 = copy.deepcopy(list)进行copy,你就会发现,不管list里的元素怎么变化,list1中的元素都不会发生改变,这就是区别。

       <4>,另外一个方法是count,它可以计算出列表中某一个元素有多少个,与index结合可以得出相同的元素都是在哪个下标下,看下面的例子:

               list = ['aa','bb',33,'aa']

               for i in range(list.count('aa')):      #list.count('aa'),会得出列表中有多少个元素aa

                     index = list.index('aa')          #list.index('aa'),会得出出现元素aa的第一个下标

                     print('下标:' index)

               #通过循环可以得出所有的元素aa所在的下标。

        <5>,方法insert:

                这个方法的作用是想在某个元素的前面加入一个元素,比如说,你要在第三个元素的前面加上一个新的元素new,只需要这样写就可以了:list.insert(2,'new')

        <6>,方法sort:

                python3中已经不支持对同时含有字符串和数字的列表做出排序了,python2中支持。

三、字典

        字典里面的数据就是键值对:'key ': value

        <1>,keys:

               这个方法可以判断,某一个key是否在字典中;也可以通过循环来遍历key.

        <2>,values:

               取出一个字典里,所有的values,并存到一个列表中。

        <3>,get:

               这个方法用的比较多,主要就是根据用户输入的key,来取出它所对应的值,最简单的一个例子南湖就是字典里面存储的用户信息,然后通过用户输入的key,取出用户所对应的信息,请看下面的例子:

                dict = {

                       'name' : 'da',

                        'age'  :  25,

                        'sex'  :   nan

                }

                 如果用户想根据key取出年龄的值,就可以这样:

                          print(dict.get('age'))    => 25  

        <4>setdefault:

              这个方法本人用的比较少,就是当key存在的时候就改变value,如果不存在,就把它添加进入;我在写脚本的时候,如果想改变一个key的值得花,就会用dic[key] = value,来进行改变。

        <5>,其它的还有想clear、等,都跟列表的用法相近,在这里就不做阐述了。

原文地址:https://www.cnblogs.com/madq-py/p/5513298.html