Python 字典、集合常用方法
'''字典'''
dict = {
    '01':'Apple',
    '02':'Samsung',
    '03':'Huawei',
} #字典的创建
#print(type(dict))


#print(dict) #字典打印是无序的
#print(dict['02'])


#dict['02'] = '三星' #改
#print(dict['02'])


#dict['04'] = 'Xiaomi' #增
#print(dict)

#del dict() #删除
#print(dict)

#dict.pop('03') #删除
#print(dict)
#dict.popitem() #随机最后一个
#print(dict)

print(dict.get('04')) #安全获取,有的话返回值,没有的话返回none

print('04' in dict) #判断是否在字典中

dict.setdefault('04','Xiaomi')
dict.setdefault('03','Xiaomi') #如果没有就key就创建key和相应的value。如果key存在就不变
print(dict)

dict2 = {
    '04':'Oppo',
    1:2,
    3:4
}
dict.update(dict2)
#print(dict) #用dict2更新dict1,如果dict1和dict2都有则dict2覆盖dic1,如果dict1没有dict2有就新建到dict1

#print(dict.items()) #把一个字典转成列表

#tmp = dict.fromkeys([5,6,7],['Vivo',{'vivo':'vjvj'}]) #初始化一个列表,这个方法和之前创建的字典'dict'没关系,恰好重名
#print(tmp)
#tmp [5][1]['vivo'] = 'Vivi'
#print(tmp) #如果字典嵌套列表用fromkeys方法也会和浅拷贝一样

'''fromkeys方法的一些实验现象'''
key01 = [1,2,3,4,5]
dict3 = dict.fromkeys(key01,['test'])
print(dict3)
dict3[1].append('TEST')
print(dict3) #如果用append对列表进行追加,发现字典所有value都进行了更新。
print(dict3[1] is dict3[2]) #发现两个字典值指向同一块内存

'''解决方案'''
dict4 = {key02:['test'] for key02 in key01}
print(dict4)
dict4[1].append('TEST')
print(dict4) #只有对应key值的value发生了改变
print(dict4[1] is dict4[2]) #不同key值不再指向同一块内存

print(dict)
for i in dict:
    print(i) #打印key值

for i in dict:
    print(i,dict[i]) #打印整个字典

for k,v in dict.items(): #用items方法把字典变成列表,效率低
    print(k,v)


'''集合'''
list_set1 = [1,1,1,4,4,4,3,2,5,7,'a','a','b','e','c']
list_set1 = set(list_set1)
print(list_set1,type(list_set1)) #集合天生去重并且无序

list_set2 = set([1,2,3,'b','f'])

print(list_set1.intersection(list_set2)) #求交集
print(list_set1.union(list_set2)) #求并集
print(list_set1.difference(list_set2)) #求差集,in list1 & not in list2
print(list_set2.issubset(list_set1)) #list2是否是list1的子集
print(set([1]).issubset(list_set1))

print(list_set1.issuperset(set([1]))) #list1是不是[1]的父集

print(list_set1.symmetric_difference(list_set2)) #对称差集,去掉list1和list2都有的去掉

dict_test = {
    1:'a',
    2:'b',
    3:'c'
}
print(set(dict_test))  #字典也可以设置为集合,只针对key有效
'''利用zip方法把两个列表映射成字典'''
keys = [1,2,3,4,5]
values = ['a','b','c','d','e']
dict_01 = dict(zip(keys,values))
print(dict_01)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇