#tuple是一个只读容器 不支持修改及添加
deftwo_sum(numbers,target):
foriinrange(len(numbers)-1):
forjinrange(i+1,len(numbers)):
if(numbers[i]+numbers[j]==target):
returni,j
return-1,-1
result = two_sum([2,7,11,15],18)
print(type(result))
print(two_sum([2,7,11,15],18))
print(two_sum([2,7,11,15],30))
#range(x) == range(0,x) [0,x-1]
#字典
d = {'a':1,'b':2,1:'one',2:'two',3:[1,2,3]}
print(type(d))
print(d)
#访问元素,根据索引去访问
print(d['a'])
print(d[1])
#判断元素(key)是否存在
print('c'ind)
print(3ind)
del(d[3])#del(dict[key])
print(d)
print(len(d))
#字典的遍历
#添加元素
d[3]=[1,2,3,4]
d[3]='1234'
keys = d.keys()
print(keys)
forkeyinkeys:
print(d[key])
print('....')
forkeyind:
print(d[key])
print('....')
forkey,valueind.items():
print(key,value)
#list
li = [1,2,3,'456',[1,2,3],{1:'come',2:'tow'}]
#元素访问
print(li[])
print(li[-1])#print(li[len(li)-1])
print(li[-2])
#查找元素位置
print(li.index('456'))
print(li.index([1,2,3]))
#print(li.index(-1))
#添加元素
l_a = [1,2,3]
l_a.append(4)
l_b = [6,7,8]
l_a.append(l_b)
print(l_a)
defmy_extend(li,n_li):
foriinn_li:
li.append(i)
returnli
print(my_extend([1,2,3],[6,7,8]))
#l_a.del(1)
l_a = []
if notl_a:
print('Empty')#not XX 和is None不是一回事
#判断是否为空 用not XX
ifl_ais None:
print('None')
iflen(l_a)==:
print('Empty')
l_a =None#代表什么都不是
foriinli:
print(i)
foriinrange(len(li)):
print(li[i])
l_a = [1,2,3]
#怎么删除元素
del(l_a[-1])
print(l_a)
#集合 里面的元素是不重复的
s_a =set([1,2,3,4,5,5,6])
s_b =set([4,5,6,7,8,9])
print(s_a)
print(s_b)
#判断元素是否存在
print(5ins_a)
print(10ins_b)
#并集
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))
#对称差(Ab)-(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])
print(s_a)
#删除元素 remove
s_a.remove(70)
print(s_a)
print(len(s_a))
#遍历
foriins_a:
print(i)
#切片
li =list(range(10))
print(li)
#切片 [start:end:steps] >=start &
print(li[2:5])#[2, 3, 4]
print(li[:4])#[0, 1, 2, 3]
print(li[5:])#[5, 6, 7, 8, 9]
print(li[:15:3])#[0, 3, 6, 9] 越界不会管 按实际大小计算
#负值怎么处理?
print(li[5:-2])#[5, 6, 7]
print(li[9::-1])#[9, 8, 7, 6, 5, 4, 3, 2, 1]
print(li[9::-1])#[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
print(li[::-2])#[9, 7, 5, 3, 1]
#切片生成一个新的对象
print(li)#还是保持原样 #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#列表推导
li = []
foriinrange(10):
li.append(i)
print(li)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
li = [1]*10
print(li)#[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
#前10个偶数
foriinrange(20):
if(i%2)==:
li.append(i)
print(li)#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
li = [i*2foriinrange(10)]
print(li)#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
li_2d = [[]*3]*3#引用
print(li_2d)#[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
li_2d[][]=100
print(li_2d)#[[100, 0, 0], [100, 0, 0], [100, 0, 0]]
li_2d=[[]*3foriinrange(3)]#深拷贝
li_2d[][]=100
print(li_2d)#[[100, 0, 0], [0, 0, 0], [0, 0, 0]]
#技巧性的 写的多就ok了
s=
print(s)#
d =
print(d)
#
领取专属 10元无门槛券
私享最新 技术干货