一、列表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去訪問)
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)