python第六天(元组、字典、集合)

一、元组(tuple)

  作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),主要用来读

  定义:与列表类型相比,只不过把[ ]换成()

age=(11,22,33,44,55)
print(age,type(age))
age=tuple((11,22,33,44,55))
print(age,type(age))

输出:

(11, 22, 33, 44, 55) <class 'tuple'>
(11, 22, 33, 44, 55) <class 'tuple'>

.count()  #用于查找某个元素在元组中出现的次数

str=('this','is','string','is')
print('is元素的个数是:',str.count('is'))

输出:is元素的个数是:2

.index()  #用于从元组中找出某个对象的第一个匹配项的索引位置,如果这个对象不在元组中会报一个异常

t=('google','runnoob','taobao')
print(t.index('taobao'))

输出:2

如果查找的对象不存在的话如下:

t=('google','runnoob','taobao')
print(t.index('111'))
#运行后台报错
指定位置查找

t=('google','runnoob','taobao')
print(t.index('taobao',0,3))  #骨头不顾尾

输出:2

二、字典

作用:存多个值,key-value,取值速度快

定义:key必须是不可变类型,value可以使任意类型

1、按key存取值:可存可取

dic={'剧情':1,'犯罪':10,'动作':8}
keys=list(dic.keys())
values=list(dic.values())
print(keys)
print(values)
输出:

['剧情', '犯罪', '动作']
[1, 10, 8]

增删改查

增:

dic={}
dic['age']=18
print(dic)

输出:

{'age': 18}

修改:

dic={'age':1}
dic['age']=18
print(dic)

输出:{'age': 18}

查询:

dic={}
dic['name']='yzn'
print(dic['name'])

输出:yzn

删除:

dic={}
dic['name']='yzn'
print(dic['name'])
del dic['name']
print(dic)

输出:{}

get取值:

dic={'a':10,'b':20}
res=dic.get('a')
print(res)

输出:10

#遇到不存在的key默认返回None,可以自定义返回值

dic={'a':10,'b':20}
res=dic.get('c','找不到值')
print(res)

输出:找不到值

增加:

dic={'a':10,'b':20}
dic.update({'c':10,'d':9})
print(dic)

输出:{'a': 10, 'b': 20, 'c': 10, 'd': 9}

dic={'a':10,'b':20}
dic.pop('a')
print(dic)

输出:{‘b’:20}

复制:

dic={'a':10,'b':20}
new_dic=dic.copy()
print(new_dic)

输出:{'a': 10, 'b': 20}

浅复制:浅复制之后,内部成员的地址还是原来的地址

d1={'list':[1,2]}
d2=d1.copy()
print(d1,id(d1),id(d1['list']))
print(d2,id(d2),id(d2['list']))
d1['list'].append('abc')
print(d1)

{'list': [1, 2]} 2400496217472 2400496259976
{'list': [1, 2]} 2400496217544 2400496259976
{'list': [1, 2, 'abc']}

随机删除:  #返回的值是(key,value)

dic={'a':10,'b':20}
print(dic)
print(dic.popitem())
print(dic)
输出:

{'a': 10, 'b': 20}
('b', 20)
{'a': 10}

字典的循环(迭代

dic={'a':10,'b':20,'c':30}
for k in dic:
print(k,dic[k])

输出:

a 10
b 20
c 30

单独显示key或value

dic={'a':10,'b':20,'c':30}
values=dic.values()
print(values)
keys=dic.keys()
print(keys)

输出:

dict_values([10, 20, 30])
dict_keys(['a', 'b', 'c'])

显示key-value键值对关系

dic={'a':10,'b':20,'c':30}
k_vs=dic.items()
print(k_vs)
输出:dict_items([('a', 10), ('b', 20), ('c', 30)])

三、集合(set)

1、单列数据集合:str,list,tuple,set    双列:dict

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

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

 交集

p_set={'a','b','c','egon'}
l_set={'x','y','z','egon'}
res=p_set & l_set
print(res)
输出:{'egon' 并集

p_set={'a','b','c','egon'}
l_set={'x','y','z','egon'}
res=p_set | l_set
print(res)

输出:{'egon', 'y', 'b', 'a', 'x', 'z', 'c'}

 差集

p_set={'a','b','c','egon'}
l_set={'x','y','z','egon'}
res=p_set - l_set
print(res)

输出:{'b', 'a', 'c'}

对称差集

p_set={'a','b','c','egon'}
l_set={'a','y','z','egon'}
res=p_set ^ l_set
print(res)

输出:{'c', 'y', 'z', 'b'}

上一篇:【AngularJS】—— 6基于AngularJS的过滤与排序


下一篇:CI框架篇之基础篇(1)