Python基本数据结构

Python是动态语言

 

list:类似数组,有序集合

  创建:L = ['Michael', 100, True],可以在一个list中包含各种数据

  访问:按索引访问,如L[0];可倒序访问,如L[-1]表示访问list最后一个元素(注意越界问题)

  添加新元素:append()方法,追加元素到list末尾;如:L.append('Lisa')

        insert()方法,添加元素到指定位置;如:L.insert(0,'Lisa'),把‘Lisa’添加到索引为0的位置上

  删除元素:pop()方法,无参数时,删掉list的最后一个元素;如L.pop(),会打印出true

             有参数时,删掉对应元素;如L.pop(1),则删掉索引为1的元素

  替换元素:直接赋值;如L[0]='Lisa'

       

tuple:有序列表,中文翻译为元组,一旦创建完毕不能修改

  创建: t = ('Adam', 'Lisa', 'Bart')

  获取tuple元素的方式与list相同

   “可变”tuple:tuple中含有可变元素,

        如 t = ('a', 'b', ['A', 'B'])

                                 L = t[2]

         L[0] = 'X'

         L[1] = 'Y'

        此时tuple改变

表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的

 

dict:含key和value,与数组类似,key值不可重复,key-value对没有顺序,key元素不可变

  创建:

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}

  访问:可以简单地使用 d[key] 的形式来查找对应的 value,如d['Adam'];

     判断key是否存在:if ‘Adam’ in d:……

    使用get()方法:d.get('Adam'),如果key不存在则返回none

    for循环遍历

  更新:d['Paul'] = 72,如果key存在则覆盖

 

 

set:持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。

  创建:调用 set() 并传入一个 list,list的元素将作为set的元素:s=set([1, 2, 3, 4])

  访问:set存储的是无序集合,所以我们没法通过索引来访问。访问 set中的某个元素实际上就是判断一个元素是否在set中。   'Bart' in s

    for循环实现遍历    for name in s:  ... print name

  添加:add()方法,如s.add(4);如果添加内容已存在,不会报错,不会继续添加

  删除:remove()方法,如s.remove(4);如果删除内容不存在,则报错,所以删除前进行判断:

 if name in s:
        s.remove(name)

 

 

posted @ 2017-07-25 14:23  HHello_World  阅读(175)  评论(0编辑  收藏  举报