ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day06

2019-03-26 21:38:29  阅读:241  来源: 互联网

标签:None name t2 day06 dic key print


元组类型

一  定义:参数为for循环的对象(可迭代对象)

t2=tuple('123')             
print(t2,type(t2)) ('1', '2', '3') <class 'tuple'>
t3=tuple([1,2,3])
print(t3,type(t3)) (1, 2, 3) <class 'tuple'>
t4=tuple((7,8,9))
print(t4,type(t4)) (7, 8, 9) <class 'tuple'>

     思考:如何定义只有一个值的元组     

     print(('owen',))     只有一个值的时候,一定要加逗号

二、常用操作

1、元组是有序存储,按索引取值

t=(1,2,3)
print(t[1]) 2
print(t[-2]) 2

2、切片

t=(1,2,3)
print(id(t)) 2451016414120
nt=t[:-1:]
print(nt,id(nt)) (1, 2) 2451016592968

3、长度(item的个数)

t=(1,2,3,4,5,6)
print(len(t)) 6

三、元组的内置方法(该数据集合可以存放相同的数据)

1、count:元组中某个元素的个数

t=(1,2,3,2,3,1,4)
print(t.count(2)) 2

2、index(value,start=None,stop=None)  后面两个参数可以省略

t=(1,2,3,2,3,3,4,5,2,4,3)
print(t.index(2)) 1
print(t.index(3,2)) 2
print(t.index(2,2,5)) 3

案例一:提前拥有一个老师列表,打算开除,如果是校长亲友团,则免开。原始列表为list类型,手动输入是否是亲友团,决定是否能开除

teas=['bob','alex']
friends=input('亲友团[0,1]: ')
if friends=='1': #判断teas对象是否是tuple类型
teas=tuple(teas)
if not isinstance(teas,tuple): #老师是否是亲友团,不是就开除
teas.clear()
for i in teas:
print('在职老师:%s'%i)

案例二:元组中的数据一定不能改变,但元组中的数据(可变类型)的数据是可以改变的              

t1=(1,2,'abc',tuple,True,(1,2))
t2=(1,2,[])
print(t2,type(t2),id(t2),id(t2[2])) (1, 2, []) <class 'tuple'> 1475809342448 1475808092808
t2[2].extend((10,20))
print(t2,type(t2),id(t2),id(t2[2])) (1, 2, [10, 20]) <class 'tuple'> 1475809342448 1475808092808

总结:t1=(1,2)

           t2=tuple((1,2))

           t3=(1,)

           索引、切片、长度

           count(obj)、index(obj,bindex,eindex)

           有序存储,存多个值,不可变(内部存可变类型,可变类型内数据可变)

 

 

字典

一、声明

dict的key可以为所有不可变类型:int,float,tuple,str,bool,None,一般就采用字符串

dict的value可以为所有数据类型

注:key具有唯一性(重复会覆盖旧值),value可以重复

dic={10:None,None:None,3.14:None,True:None,'abc':None,(1,):None,None:12345}
print(dic) {10: None, None: 12345, 3.14: None, True: None, 'abc': None, (1,): None}
d1={'name':'owen','age':18}
print(d1) {'name': 'owen', 'age': 18}
d2=dict({'name':'owen','age':18})
print(d2) {'name': 'owen', 'age': 18}
d3=dict(name='egon',age=18)
print(d3) {'name': 'egon', 'age': 18}

字典无序存储数据,无索引与切片,用key来取值

二、增删改查

增:key不存在,会把新的key加入到原字典中

dic={}
dic['name']='mac'
print(dic) {'name': 'mac'}
update 添加的参数字典与dic可以重复,就是更新值,新的key就是新增

改:key已存在

dic['name']='big mac'
print(dic) {'name': 'big mac'}

查:

print(dic['name'])               big mac

删:

del dic['name']
print(dic) {}
pop 根据key删除指定对象,并返回删除对象的value

三、get取值   .get(key)

     取的是key,如果key不存在不会报错,拥有默认值None,也可以自定义默认值

 

四、如何定义空字典

{}.fromkeys(['a','b','c'])

第一个参数:keys:list/tuple

第二个参数:统一的默认value

append:如果有,在原key基础上添加新值,如果没有新建一个空key
setdefult:如果有,setdefult相当于什么都没有做,如果没有,就将第二个参数(默认值)传给该key,存放到原字典中

五、字典的循环(迭代)

直接for循环(遍历)字典得到的是key

    values只循环值

    keys循环key

    items  存档key-value的键值对

 

集合set

1.定义与声明

什么是集合:

1)单列数据集合:str,list,tuple,set

     双列:dict

2)无序存储:无key无index,无法取值

3)可变数据类型,内部可以存放任意数据类型,但数据具有唯一性

2、内置方法与使用----集合间的运算(&|^><==)
交集、并集、差集、对称差集

添加删除操作:

add  添加

pop  删除    随机删除一个元素

 

标签:None,name,t2,day06,dic,key,print
来源: https://www.cnblogs.com/yangyinyin/p/10597823.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有