字典:
- [ ] 列表可以存储大量的数据,但是如果数据量大的话,他的查询速度比较慢,因为列表只能顺序存储,数据与数据之间的关联性不强。所以便有了字典(dict)这种容器的数据类型,它是以{}括起来的。
例如.
> 合法:
> dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
> 非法:
> dic = { [1,2,3] : ‘555’} # list 是可变的,不能作为key
> dic = { {‘abc’ :123} :555} #dict是可变的,不能作为key
- 字典的增删改查功能
1. 增
> dic = {} #空字典
> dic [ ‘name’ ] = ‘张三’
> dic [ 'age' ] = 23
> print (dic)
> #结果 : {‘name’ : ‘张三’, ‘age’ : 23}
> 如果dict 中没有出现这个key,就会将 key - value 组合添加到这个字典中。
2. 删
> dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
> s = dic.pop(123) *# pop 删除有返回值,返回的是被删的值*。
> print(s) 输出为666
> print(dic)
> 输出为 dic = {123 :456,’name‘ :‘张三’,(1,2,3):555}
>
>
> dic.clear() # 清空
3. 改
> dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
> dic[ 'name‘ ] = ’李四‘ #当 字典中存在’name‘这个key那么就直接修改赋值,若不存在,则添加。
>
> print(dic)
> #dic = {123 :456,True : 666,’name‘ :‘李四’,(1,2,3):555}
> dic.updata({'key' : 'v', 'qwe' : 789 })
> #当updata中的字典里没有dic中键值对(key-value)就添加到dic中,如果有就修改,类型于 列表中的 list.expend()
4. 查
> dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
> s = dic ['name'] #通过键(key)来查找,如果这个键不存在字典中,那么就报错
> print(s) # ‘张三’
> q = dic.get(True) #通过键来查看,如果键不在字典中,就输出none
字典的其他操作
1. 获取字典的键
> dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
> key_list = dic.keys()
> print(key_list)
> 结果
> dict_keys([123, True, ‘name’],(1,2,3))
>
2. 获取字典的值
> dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
> value_list = dic.values()
> print(value_list)
> 结果
dict_value(456,666,‘张三’,555)
3. 获取键值对
> dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
> key_value_list = dic.items()
> print(key_value_list)
> 结果
> dict_items([(123,456), (True,666), (‘name’,‘张三’), ((1,2,3), 555)])
>
集合
> set1 = {‘1’,‘name’,2,True,[1,2,3]} # 报错
set2 = {‘1’,‘name’,2,True,{1:2}} # 报错
set3 = {‘1’,‘name’,2,True,(1,2,[2,3,4])} # 报错
set 集合的增删改查
1. 增加

> s = {'abc', 'efg', 'hij','lmn' }
> s.add('123')
> print(s) #{‘abc’, ‘efg’, ‘hij’,‘lmn’ ,‘123’}
> s.add('abc')
> print(s) #{‘abc’, ‘efg’, ‘hij’,‘lmn’ ,‘123’} 重复的内容不会被添加到set集合中
>s.updata([‘111’,‘222’,‘333’])
>print(s)#{‘abc’, ‘efg’, ‘hij’,‘lmn’ ,‘123’, ‘111’, ‘222’, ‘333’}# 迭代更新
>
2. 删除
> s = {'abc', 'efg', 'hij','lmn' }
> item = s.pop() #随机弹出一个
> print(s)
> print(item)
> 结果
> {‘lmn’, ‘abc’, ‘efg’}
> hij
> s.remove('abc')#直接删除元素
> print(s)
> 结果
> {‘lmn’, ‘efg’,}
> s.clear() #清空set集合,
3. 修改
> set集合中的数据没有索引,也没有办法去定位一个元素,所以没有办法进行直接修改。
> 但是我们可以雷雨删除和添加来完成修改。
> 例如
> s = {'abc', 'efg', 'hij','lmn' }
> #将’abc‘ 改成’ 123‘
> s.remove('abc')
> s.add('123')
> print(s)
> #{ ‘efg’, ‘hij’,‘lmn’, ‘123’}
4. 查询
> #set 集合是一个可迭代对象,所以可以进行for循环
> for item in s:
> print(item) #遍历
这就是字典和集合的几大内容
到目前位置就是 python中的几大数据类型。、
、

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/205861.html