List
list是一种有序的集合
name = ['julian', 'kerr', 'Ryan' 1, 99]
- list内部元素:可以不同类型,如上所示,也可以包含列表:
name=['jj', 'dd', ['julian', 'Andrison'] ,'Candy']
, 访问:name[2][0]=‘julian’ - 获取元素个数:
len(name)
- 通过索引访问:
name[0]表示第一个元素
,从0开始到 n-1 , 也可以从最后往前name[-1]表示最后一个,name[-2]:倒数第二个
- 增加、删减元素:
- 追加元素
name.apend('mike')
- 插入到指定位置:
name.insert(1, 'jack')
- 删除末尾元素:
name.pop()
- 删除指定元素:
name.pop(i)
- 把某个元素替换成别的元素:
name[1]='jjjj'
tuple
另外一种列表叫元组:tuple和list非常类似,但是tuple一旦初始化就不能修改,在定义的时候,tuple的元素就必须被确定下来
name = ('julain', 'kerr', 'Candy', ('jaoi', 8, 'j'))
- 因为不能修改所以没有 删除、插入等操作
- 获取:
name[1] name[-1] name[2][1]等
- 如果元组只有一个元素,避免和括号发生歧义,通常这么必须加一个逗号消除歧义:
number = (1 ,)
- “可变元组”:比如:
t = ('a', 'b', ['A', 'B'])
,这样元组里面的list的元素是可以改变的
dict
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
d = {'julian':98, 'kerr':99, 'san':100}
- 获取:
d['julian']
- 赋值:
d['julian'] = 97
- 判断key值是否在字典中:
'julian in d'
返回 True or Falsed.get('julian')
返回value or none ,或者可以指定没有此Key时候返回特定值:d.get('julian', -1)
- 删除:
d.pop('julian')
,对应的value也删除
- 和 list 的区别
dict:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
而list相反:
- 查找和插入的时间随着元素的增加而增加;
- 占用空间小,浪费内存很少。
dict是用空间来换取时间的一种方法,需要牢记的第一条就是dict的key必须是不可变对象 (数字、字符串、元组)
set
set和dict类似,也是一组key的集合,但不存储value。key不能重复。
- 创建需要 list 作为输入集合:
s = set( [1,2,3,4] )
- 重复的元素会被过滤:
s = set( [1, 2, 100, 3, 4, 4, 2, 2, 4] )
:输出:s={1, 2, 100, 3, 4}
- 添加元素:
a.add(101)
- 删除元素:
a.remove(100)
- 集合操作:交集:
a & b
并集:a | b