2018-08-28 day7 dict和set

2018-08-28  本文已影响0人  rzlong

字典

声明字典
dict1 = {'hero':'lucian', 2:'oneplus', True:'True',(10,20):'坐标(10,20)'}
print(dict1)

result:
{'hero': 'lucian', 2: 'oneplus', True: 'True', (10, 20): '坐标(10,20)'}
获取字典的元素对应的值
print(dict_list['name'],dict_list['medicine'])

result:
shiting wang yuting
print(dict_list.get('a'))

result:
None

:key肯定存在时用[],可能不存在或不希望返回错误时用get

字典遍历
for k in person:
    print(k,person[k])
for k,v in person.items():
    print(k,v)

result:
name 某宝
age 10
boss 某云
sex 男
name 某宝
age 10
boss 某云
sex 男
修改元素
person['sex'] = '女'
print(person)
增加元素
del person['age']
删除元素
a = person.pop('boss') #a保存的是删除key对应的value

字典相关计算

computer1 = computers #复制computers的地址给computer1
computer2 = computers.copy() #复制computers的全部元素到一个新的内存空间中,并且将新的地址给computer2
print(dict.fromkeys(computers,12))
# dict_name.keys() 获取字典中的所有key,返回dict_keys类型
print(type(computers.keys()),computers.keys())
# dict_name.values() 获取字典中所有key对应的value,返回dict_values类型
print(type(computers.values()),computers.values())
# dict_name.items() 获取字典所有的元,返回dict_items类型。
print(type(computers.items()),computers.items())
# 不推荐使用,遍历数据时会转换数据,占用更大的资源。

result:
<class 'dict_keys'> dict_keys(['brand', 'color'])
<class 'dict_values'> dict_values(['联想', 'white'])
<class 'dict_items'> dict_items([('brand', '联想'), ('color', 'white')])
computers.setdefault('value','nice')
dict1 = {'age':10,'name':'007'}
dict2 = {'num':10,'name':'king'}
print('before updating: ',dict1)
dict1.update(dict2)

result:
{'brand': '联想', 'color': 'white', 'value': 'nice'}
before updating:  {'age': 10, 'name': '007'}
updated:  {'age': 10, 'name': 'king', 'num': 10}


list和dict的组合

student_info = [
    {'name':'lucian','age':10},
    {'name':'lax','age':12},
    {'name':'gaylun','age':14}
]

py_class = {
    'class_name':'python1806',
    'students':student_info,
    'location':'2_classroom'
}
name = input('输入姓名:')
for item in py_class['students'][:]:
    if item['name'] == name:
        py_class['students'].remove(item)
        print('已删除' )
        print(py_class)

集合set

集合在python中是一种无序的可变且值唯一的容器类型

set1 = {1,3,'a',(1,2),True}
print(set1,type(set1))
set2 = set('dongdongqiang')
print(set2)

# 将其他的序列转换成集合,自带一个去重的功能
#定义空集合必须 set1 = set()
result:
{(1, 2), 1, 3, 'a'} <class 'set'>
{'g', 'q', 'n', 'o', 'i', 'd', 'a'}
for item in set1:
    print(item)

result:
(1, 2)
1
3
a
# a.判断包含情况
'''
集合1 >= 集合2 判断集合2是集合1的子集
集合1 <= 集合2 判断集合1是集合2的子集
'''
# b.求交并补
'''
并集:集合1 | 集合2 求两个集合的全部部分
交集:集合1 & 交集2 求两个集合公共部分
补集:集合1 ^ 集合2 求两个集合除公共部分以外的部分
'''
# c.差集
'''
集合1 - 集合2  集合1对于集合2没有的部分
'''
上一篇下一篇

猜你喜欢

热点阅读