python中list,tuple,dict,set的区别及联系

来源:互联网 发布:图像自动拼接软件 编辑:程序博客网 时间:2024/04/30 16:23

我在python学习中遇到的一个与其他语言不太相同的一点就是list.tuple.dict.set这几个数据类型的区别及联系。昨天学了,为防忘记,今天就来现学现卖。

一、list

         俗称列表,是一种有序集合。也就是说,list中的数据排列是有顺序的。可以对list中的数据进行添加、删除和修改的操作。

1、访问list

         对于一个list L=['a','b','c']来说,可以使用索引来访问它:

         >>>print(L[0])

         >>>a

         还可以倒序来访问一个list,倒数第几就写负的几,注意正倒序都不能越界

         >>>print(L[-1])

         >>>c

2、增加、删除、替换list中的数据

         append()方法,可以将需要添加的内容加入列表的尾端。执行L.append('d')后,L=['a','b','c','d']

         insert()方法,接收两个参数 第一个参数是索引号,第二个参数是待添加的新元素:也就是说insert(0,'d')的作用就是把d添加在L[0]的位置,而后面的元素自动向后挪一位。

  pop()方法,总是删掉list的最后一个元素,并且它还返回这个元素。pop(2)方法删除索引号为2的元素。

        

二、tuple

         tuple,元组。与list非常类似,但是元组一旦创建,就不能修改。只能索引。

三、dict

         我们已经知道,list 和 tuple 可以用来表示顺序集合,例如,班里同学的名字:

         ['Adam','Lisa', 'Bart']或者考试的成绩列表:[95, 85, 59],但是,要根据名字找到对应的成绩,用两个 list 表示就不方便。
         如果把名字和分数关联起来,组成类似的查找表:

                            'Adam'==> 95
                            'Lisa' ==>85
                            'Bart' ==>59
         给定一个名字,就可以直接查到分数。
         Python的 dict 就是专门干这件事的。用dict 表示“名字”-“成绩”的查找表如下:

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
我们把名字称为key,对应的成绩称为value,dict就是通过 key 来查找 value。
花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。
由于dict也是集合,len() 函数可以计算任意集合的大小:
>>> len(d)
注意: 一个 key-value 算一个,因此,dict大小为3。

dict的特点:①dict的访问速度不受dict大小的限制,无论一个dict里面有多少个元素,他的访问速度都是一样的。但相应的dict也要占用大量的内存②dict的存储是无序的。③dict中key值只能使用不可变数据,例如:int,float,str。

访问dict

使用d[key]来返回一个key的值:d[‘Adam’]=95.或者,dict还有一个get方法,d.get(‘Adam’)=95

四、set

当我们只关心dict中key 的值而不在乎value的时候,set就派上了用场,调用set传入一个list,s=set([‘a’, ‘b’, ‘c’])创建了一个名为s的set。

在一个set中,元素不能重复。并且与dict相似,set里的元素也是无序的。

因为set是无序的,所以不能使用索引来访问一个set,访问一个set就是判断某个数值是否在一个set中,可以直接使用in来判断。最后,使用set的add(),remove()方法可以增加或者删除set 中的元素。使用时,add可以直接使用,remove最好先进行判断元素是否在set中。


0 0
原创粉丝点击