1、 List
在Python中list是一个可变的有序集合,用[]表示一个list,可以这样定义一个List:
L = [33,”python”,12.5]
定义一个空的list:
L =[ ]
一些基本的使用
倒序 a = b[::-1]
相乘 [33] * 3 = [33, 33, 33]
强制转成list list('abc') = ['a', 'b', 'c']
可用函数 max(list1) min(list2) len(list3)
在尾部添加一个元素: append()
在指定位置插入一个元素: insert()
合并连个list: extend()
(使用+也是同样的效果)
删除一个元素(默认删除尾部,可指定位置删除): pop ()
倒置: reverse()
计算某个元素出现的次数: count(item)
排序: sort()
list长度: len(list)
替换某个元素的值:list[2] = "other_value"
list索引:
正向索引以0开始,反向索引-1表示最后一个元素
判断某个元素是否在list中可以使用关键字 in
得到某个元素的索引可以使用 mylist[“a”]
**注意: **append接受一个任意类型的参数,并且简单的将这个参数添加到list尾部。Extend接受一个list参数,并且把这个list中的每个元素添加到原list中。
2、 Tuple
Tuple可以看做是一种“不可改变“的List,可以通过下标来访问元素用小括号()
表示:
可以这样定义一个tuple:
t = (12,”python”,12.5)
空tuple:
t = ()
只有一个元素的元组需要特别注意,为了与整数中带括号的一个数字区分,所以只有一个元素的元组需要在元素后面添加一个’,’.
T = ('python',)
元组一旦定义便不可改变,所以没有pop和insert、append方法等方法。
有一种情况下,tuple看上去是可以改变的。那就是在tuple内部存一个list,在这种情况下,list内是可以发生变化的,因为tuple只是指向了这个list,只要你不修改这个指向,list怎么变都可以,在tuple看来,它仍然是不变的。
t = ("python",12.5,[11,33])
print(t) #输出 ('python', 12.5, [11, 33])
t[2][0] = 22
t[2][1] = 66
print(t) #输出 ('python', 12.5, [22, 66])
3、 dict
dict
其实是dictionary的缩写,也就是字典的意思,实际上就是Java中的map
集合,它就是一个键值对的集合。用{}
来表示一个字典。
可以这样来定义一个字典:
Mydict = {'name':'lili','age':12,'sex':'girl'}
空字典:
mydict = {}
List
和Tuple
用下标来访问内容,而Dict
用Key
来访问: (字符串、整型、浮点型和元组tuple
都可以作为dict
的key
),如果key
是不存在的会报错,所以在访问时可以查询一下key
是否存在,或者使用get()
方法。
常用函数
dict.clear()
删除字典中所有元素dict.copy()
返回字典(浅复制)的一个副本dict.get(key,default=None)
对字典dict中的键key,返回它对应的值value,如果字典中不存在此键,则返回default 的值(注意,参数default 的默认值为None)dict.has_key(key)
如果键(key)在字典中存在,返回True,否则返回Falsedict.items()
返回一个包含字典中(键, 值)对元组的列表dict.keys()
返回一个包含字典中键的列表dict.values()
返回一个包含字典中所有值的列表dict.pop(key[, default])
和方法get()相似,如果字典中key 键存在,删除并返回dict[key],如果key 键不存在,且没有给出default 的值,引发KeyError 异常。
注意:如果想要按照key来获取value,那么最好使用get方法!
更新字典:直接使用dict[key] = value
添加数据:使用 dict[newkey] = new_value
4、 set
set
是没有重复元素并且是无序的集合。set
集合是无序的,不能通过索引和切片来做一些操作。像列表、字典、字符串这类可迭代的对像都可以做为集合的参数。
s = set(['apple','banan','cat'])
1、 访问set
由于set
存储的是无序集合,所以我们没法通过索引来访问,因此访问set中的某个元素实际上就是判断一个元素是否在set中。可以使用关键字 in 来判断。
2、 更新set
一:添加元素时,用set
的add()
方法。如果添加的元素已经存在于set
中,add()
不会报错,但是不会加进去了。
二:删除set
中的元素时,用set
的remove()
方法。如果删除的元素不存在set
中,remove()
会报错。所以用add()
可以直接添加,而remove()
前需要判断。
5、 总结一下:
list
是一个可修改可删除的有序集合。
tuple
是一个不可修改不可删除的有序集合。
dict
是一个可修改可删除的无序键值对集合。
set
是一个可修改可删除但不可重复的无序集合。