一、列表list
list可以有任意类型元素
li = [1,2,3,'456',[1,2,3],{1:'one'}]
list访问
print(li[0])
print(li[-1])
查找元素位置
print(li.index('456'))
print(li.index([1,2,3]))
添加元素
l_a = [1,2,3]
l_a.append(4) //将元素添加进去
l_b = [6,7,8]
l_a.extend(l_b) //将数组添加进去
删除元素
del(li[-1])
判断容器是否为空
l_a = []
if not la:
print('Empty')
//not xx 和 is None 不是一回事
if l_a is None:
//判读容器是否为空不能用is None,因为即使容器为空,在内存空间中也是一个类,而None代表什么都不是
print('None')
遍历容器
for i in li:
for i in range(len(li)):
二、元组tuple(只读)
t = (1,2,3,'456')
print(type(t))
t[0] = 'a'
t.append('x') //抛出异常
三、给定一个数,找到数组中两个数之和等于这个数的位置,如果找不到则返回-1,-1
def two_sum(numbers,target):
for i in range(len(numbers)-1):
for j in range(i+1,len(numbers)):
if(numbers[i] + numbers[j]) == target:
return i,j
return -1,-1
print(two_sum([2,7,11,15],18))
四、字典
一个key只能对应一个值,想对应多个元素可以放在数组里面
d = {'a':1,'b':2,1:'one',2:'two'}
print(d)
访问元素(根据key去访问)
扫描二维码关注公众号,回复:
121140 查看本文章
print(d['a'])
print(d[1])
判断元素是否存在(判断key是否存在),找到key是O(1)的时间复杂度
print(3 in d)
print('c' in d)
删除
del(d[3]) //删除key
长度
print(len(d))
遍历
1、根据key遍历
for key in d:
print(d[key])
2、根据key、value遍历
for key,value in d.items():
print(key,value)
3、
keys = d.keys()
print(keys)
添加元素
d[3] = [1,2,3,4] //直接添加key,value
d[3] = '1234' //重写原有的key所对应的value
五、集合set(元素唯一)(红黑树实现)
s_a = set(1,,2,2,3,4,5,6])
s_b = ([4,5,6,7,8,9])
print(s_a)//输出(1,2,3,4,5,6) 即set里面没有重复的元素
判断元素是否存在
print(5 in s_a) //返回True或者False
求并集
print(s_a | s_b)
print(s_a.union(s_b))
求交集
print(s_a & s_b)
print(s_a.intersection(s_b))
求差集 (A - A&B)
print(s_a - s_b)
print(s_a.difference(s_b))
对称差(A|B)-(A&B)
print(s_a^s_b)
print(s_a.symmetric_difference(s_b))
修改元素
s_a.add('x')
s_a.update([4,5,60,70]) //添加数组
删除元素
s_a.remove(70) //删除的话必须知道要删除的值
求长度
print(len(s_a))
循环
for i in s_a:
print(i)