Python基础(5)字典(dict)和集合类型(set,frozenset)

元组,列表,字典,集合的格式:

s1=(1,23,4)
print(type(s1))    #tuple 元组
s2=[1,2,5]
print(type(s2))    #<class 'list'>,list 列表
s3={1:'s2',2:'s4'}
print(type(s3))    #<class 'dict'> dict字典
s4={1,2,3,1,1.4}
print(type(s4))    #<class 'set'>,集合,可变集合,内容不可以重复
s5=frozenset({1,2,3})
print(type(s5))    #<class 'frozenset'> 不变集合,内容不可以重复
print(s4)

 

字典:

 

#coding=gbk
'''
Created on 2018年5月31日

@author: nobody
'''

#字典的使用方法dict
d={1:'food',2:'drink',3:'reading'}
print(d[1])
del d[2]#删除第2项
print(d)
d[4]='fruit'#add 
print(d)

for k in d.keys():
    print(k,end=" ")#输出key值
print()
for values in d.values():
    print(values ,end=" ")#输出对应的values值
print()
for items in d.items():
    print(items ,end=" ")#输出键值对
print('-------------')
d.pop(3)#输入键,删除对应值  
print(d)
s1={6:'work',4:'running'}
d.update(s1)  #增加一个键值对,修改相同的键值对
print(d) 
# d1=(1,2,3)
# d1.append(6)#AttributeError: 'tuple' object has no attribute 'append'
#             #元组数据不可更改
# print(d1)

字典常用方法

 

#集合,set为可变集合
s=set('hello')
print()
s2={1,5,8,19}
print(s&s2)#交集
print(s2|s)#并集
print(s-s2)#差集
print(type({}))#<class 'dict'>
#dict3={[1,2,3]:'hello'}此方法不能创建字典,由于列表是可变的,不可以hash
print(set([1,2,1,2,3]))#set是可变集合,而集合内数据是不可重复的,所以输出:{1, 2, 3}
print(d)

集合对象方法:

可变集合方法

 代码实例:

def test_set():
    s = {1,2,3,4, 2,1}
    print(type(s))  # <class 'set'>
    print(s)    #    {1, 2, 3, 4}
     #add, clear, copy, difference, discard, intersection, isdisjoint, issubset, issuperset, pop, remove, 
    # union, update,
    s.add(10) 
    print(s)    # {1, 2, 3, 4, 10}
#     s.clear()
    s1 = s.copy()
    s1.add(100)
    print(s1.difference(s)) # {100}
    print(s1)
    s.discard(1)    #删除某个数, 不存在,则不删除,不进行报错
    print(s)
    print(s.intersection(s1))   #{1, 2, 3, 4, 10}, 求交集
    print(s.isdisjoint(s1)) # 是否不相交    #False
#     help(set)
    print(s, s1)    # {2, 3, 4, 10} {1, 2, 3, 4, 100, 10}
    print(s.issubset(s1))   # s是否是s1的子集 True
    print(s1.issuperset(s)) # s1是否是s 的超集, True
    print(s)    #{2, 3, 4, 10}
    s.pop() #从头结点中删除
    print(s)    #{3, 4, 10}
    s.remove(10)    #删除对应的元素
    print(s)    # {3, 4}
    s.update([1, 2, 3, 100, 99])    #增加set数组, 不能重复
    print(s)
    s2 = s.union(s1)
    print(s2)    # {1, 2, 3, 4, 100, 99, 10}, 将2个set数组进行合并
#     s2.remove(3)
    s2.discard(921)
    s2.pop()
    print(s2)   #{2, 3, 4, 100, 99, 10}
test_set()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值