列表:list
列表list是一个可变的有序集合,可以随时添加和删除其中的元素
- 声明一个列表
>>> demo=['Tom','Bob','LiLei']
>>> print(demo)
['Tom', 'Bob', 'LiLei']
- 获取列表元素的个数
>>> len(demo)
3
- 访问某个元素
>>> demo[0]
'Tom'
- 访问最后一个元素
#最后一个元素
>>> demo[-1]
'LiLei'
#倒数第二个元素
>>> demo[-2]
'Bob'
- 添加元素
>>> demo.append('demo1')
>>> print(demo)
['Tom', 'Bob', 'LiLei', 'demo1']
- 插入指定的位置
>>> demo.insert(1,'demo2')
>>> print(demo)
['Tom', 'demo2', 'Bob', 'LiLei', 'demo1']
- 删除元素
#删除末尾的元素
>>> demo.pop()
'demo1'
#删除指定索引的元素
>>> demo.pop(1)
'demo2'
- 替换元素值
>>> demo[0]='Tom1'
>>> print(demo)
['Tom1', 'Bob', 'LiLei']
- list元素可以为不同的数据类型,可以是一个list
>>> demo2 = ['Apple', 123, True]
元组:tuple
元组一旦初始化就不能修改, 这里的不能修改是指元素指向不变。
- 声明元组
#声明一个元组
demo = ('Michael', 'Bob', 'Tracy')
#声明一个空元祖
demo = ()
#定义只有一个元素的元组
demo = (1,)
字典:dict
采用键-值(key-value)存储,就是java里的map,查询效率高,时间复杂度一般都是O(1),切它是无序的
- 声明一个dict
name_ageMap = {'tom':10, 'Bob':29}
- put
name_ageMap['LiLei'] = 67
- 取值:通过key来取值
- 方式一
name_ageMap['tom']
如果key值不存在,会报错,可以通过下面方式先判断key是否存在
if 'tom' in name_ageMap:
print name_ageMap['tom']
- 方式二
name_ageMap.get('tom')
name_ageMap.get('tom1', -1)
-1
- 删除
name_ageMap.pop('tom')
删除key为tom的键值对
注意:dict的key必须是不可变对象,因为一旦key的状态发生变化,get时,计算哈希值发生变化,返回的可能非原value
set
set和dict类似,也是一组key的集合,但不存储value,不能重复,实现原理和dict相同,只是不存储value
- 声明
#声明一个空set
s = set()
#声明一个有默认值set
s = set([1, 2, 3])
- 添加
#可以重复添加,但是不会有效果
s.add('set')
- 删除
s.remove('set')