字典
1、创建并访问字典
字典是另一种可变容器模型,且可存储任意类型对象。
创建字典的一般格式:
d = {key1 : value1, key2 : value2 }
实例:
dict1={"李宁":"一切皆有可能","耐克":"Just do it","阿迪达斯":"Impossible is nothing"}
print("李宁的口号是:",dict1["李宁"])
dict2={1:"one",2:"two",3:"three"}
print(dict2[2])
dict3={}
print(dict3)#创建空字典
注:
- 大括号;
- 键与对应的值用冒号隔开;
- 键必须是唯一的,但值则不必;
- 调用时要知道关键词,且中括号。
采用dict()创建字典:
dict4=dict(((1,"one"),(2,"two"),(3,"three")))
print(dict4)
dict5=dict( a="one",b="two",c="three")#关键字不能加引号
print(dict5)
dict5["a"]="four"#改变字典中某项的值
print(dict5)
dict5["e"]="five"#向字典中增加项
print(dict5)
2、字典的内置方法
函数 | 描述 |
---|---|
fromkeys() | 创建一个新字典,以序列中元素做字典的键,val为字典所有键对应的初始值 |
get(key, default=None) | 返回指定键的值,如果值不在字典中返回default值 |
clear() | 删除字典内所有元素 |
copy() | 返回一个字典的浅复制(浅复制和直接赋值不同,浅复制改变字典id) |
pop(key,default) | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。否则,返回default值。 |
popitem | 随机返回并删除字典中的最后一对键和值。 |
radiansdict.update(dict2) | 把字典dict2的键/值对更新到dict里 |
实例:
- fromkeys()
dict1={}
print(dict1.fromkeys((1,2,3),"number"))
print(dict1.fromkeys((1,2,3),("one","two","three")))
#第二个小括号的值当做一个整体,即{1:("one","two","three")...}
dict2=dict1.fromkeys(range(32),"赞")
print(dict2)
#key,value,item
for eachkey in dict2.keys():
print(eachkey)#打印关键字0,1,2...31
for eachvalue in dict2.values():
print(eachvalue)#打印值 赞...
for eachitem in dict2.items():
print(eachitem)#打印字典的每一项
#print(dict2[32])会报错
print(dict2.get(32))#采用get()会输出None
print(dict2.get(32),"木有")#get()可以设置输出的值
- pop()和popitem()
dict1={1:"one",2:"two",3:"three"}
print(dict1.pop(2))
print(dict1)
print(dict1.popitem())
print(dict1)
输出:
two
{1: 'one', 3: 'three'}
(3, 'three')
{1: 'one'}
集合
- 集合(set)是一个无序的不重复元素序列;
- 元素无序,所以不支持索引;
- 可以用花括号括起一堆元素的方式,或set()函数创建集合。
1、创建集合
set1=set([1,2,3,4,5])
print(set1)
#去除掉列表中重复的元素
set2=set([0,1,2,3,4,5,5,3,1])
print(set2)#得到的集合是无序的!
2、访问集合中的值
-
使用for把集合中的数据一个一个读取出来;
-
通过in,not in判断元素是否在集合中;
-
add()可以向集合中添加元素,remove()可以移除集合中的元素。
3、不可变集合
set=frozenset([1,2,3])
print(set)
#print(set.add(5))#报错
参考文献
https://www.runoob.com/python3/python3-set.html
https://www.bilibili.com/video/av4050443/?p=28