首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python基础之容器

#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)

#

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180109G0JZD500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券