day9 task6 字典与集合

字典和集合

字典的定义语法为{e1,e2,…}
每一个元素是一个键和值对

字典的创建

dic1 = {'a':1,'b':2,'c':3}
print(dic1)    # {'a': 1, 'b': 2, 'c': 3}

字典的内置方法

# dict.fromkeys(seq,)  创建新的字典
seq = {'name','age','sex'}
dic2 = dict.fromkeys(seq,(1,2))
print('新的字典为:%s'% str(dic2))

# dict.keys()
dict = {'Name': 'lsgogroup', 'Age': 7}
print(list(dict.keys()))  # ['Name', 'Age']

# dic.values()
dict = {'Sex': 'female', 'Age': 7, 'Name': 'Zara'}
print("字典所有值为 : ", list(dict.values()))  
# 字典所有值为 :  [7, 'female', 'Zara']

#dict.items()
dict = {'Name': 'Lsgogroup', 'Age': 7}
print("Value : %s" % dict.items())  
# Value : dict_items([('Name', 'Lsgogroup'), ('Age', 7)])

print(tuple(dict.items()))  
# (('Name', 'Lsgogroup'), ('Age', 7))

# dict.get(key,default)
dict = {'Name': 'Lsgogroup', 'Age': 27}
print("Age 值为 : %s" % dict.get('Age'))  # Age 值为 : 27
print("Sex 值为 : %s" % dict.get('Sex', "NA"))  # Sex 值为 : NA

# key in dict 
dict = {'Name': 'Lsgogroup', 'Age': 7}
# 检测键 Age 是否存在
if 'Age' in dict:
    print("键 Age 存在")
else:
    print("键 Age 不存在")

# dict.clear() 删除字典内的所有元素

# dict.copy() 浅复制
dict1 = {'Name': 'Lsgogroup', 'Age': 7, 'Class': 'First'}
dict2 = dict1.copy()
print("新复制的字典为 : ", dict2)  
# 新复制的字典为 :  {'Age': 7, 'Name': 'Lsgogroup', 'Class': 'First'}

dict1 = {'user': 'lsgogroup', 'num': [1, 2, 3]}

# 引用对象
dict2 = dict1  
# 深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
dict3 = dict1.copy()  

print(id(dict1))  # 148635574728
print(id(dict2))  # 148635574728
print(id(dict3))  # 148635574344

# 修改 data 数据
dict1['user'] = 'root'
dict1['num'].remove(1)

# 输出结果
print(dict1)  # {'user': 'root', 'num': [2, 3]}
print(dict2)  # {'user': 'root', 'num': [2, 3]}
print(dict3)  # {'user': 'runoob', 'num': [2, 3]

# dict.pop(key,) 删除字典给定key所对应的值,返回被删除的值
dict1 = {1: "a", 2: [1, 2]}
print(dict1.pop(1), dict1)  # a {2: [1, 2]}

# dict.popitem()随机返回并删除一对键和值
dict1 = {1: "a", 2: [1, 2]}
print(dict1.popitem())  # (1, 'a')
print(dict1)  # {2: [1, 2]}

# dict.setdefault(key,default=None) 同get 没有则添加
dict = {'Name': 'Lsgogroup', 'Age': 7}
print("Age 键的值为 : %s" % dict.setdefault('Age', None))  # Age 键的值为 : 7
print("Sex 键的值为 : %s" % dict.setdefault('Sex', None))  # Sex 键的值为 : None
print("新字典为:", dict)  
# 新字典为: {'Age': 7, 'Name': 'Lsgogroup', 'Sex': None}

集合 (无序、唯一)

num = {}
print(type(num))  # <class 'dict'>
num = {1, 2, 3, 4}
print(type(num))  # <class 'set'>

# 转化为集合
a = set('abracadabra')
print(a)  
# {'r', 'b', 'd', 'c', 'a'}

# for 读出所有元素
thisset = set(['Google', 'Baidu', 'Taobao'])
for item in thisset:
    print(item)

# Baidu
# Google
# Taobao

内置函数

# set.add()
fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
print(fruits)  
# {'orange', 'cherry', 'banana', 'apple'}

fruits.add("apple")
print(fruits)  
# {'orange', 'cherry', 'banana', 'apple'}

# set.remove()
fruits = {"apple", "banana", "cherry"}
fruits.remove("banana")
print(fruits)  # {'apple', 'cherry'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值