Python(5)字典、集合总结、可变及不可变及类型间的转换

字典: 

元组
类似列表(当成容器)
特点:
1、定义的符号  ()
2、元组中的内容不可修改

    list            tuple            dict(dictionary)
    列表[]          元组()              字典{}
    ele             ele                Key:value  键值对

element

字典:
一、增加元素
list1 = []   list1.append(element)
dict1 = {}   dict1[key] = value

二、修改元素
dict1[key] = value
如果key已经存在,则直接将value赋值给key
key没有存在,则增加key及value到字典dict1中

三、查询:
list1[index] ---> element
dict1[key] --->value

in 也可用于字典操作,用于判断元素有没有在字典的key中出现
'a' in dict1

1、根据key获取值,如果key在字典中没有存在则报出 keyError 错误
    dict1[key] 获取value
2、字典的内置函数:get(key),如果取不到值则不会报错,返回None
    dict1.get('a')

    get(key, default)  --->value    如果取得值则返回字典中的值,如果取不到则返回default值

    items()     取字典中所有元素,并以[(),()] 列表中元组形式表示
    keys()      取字典中所有键 将键以列表形式表示
    values()    取字典中所有值 将值以列表形式表示

四、删除
list1 = [2, 3, 4, 5]
del list1[1]
list1.remove(3)  删除3元素

del dict1[key]  没有则报错keyError

字典的内置删除函数
value = dict1.pop(key[,default])    --->根据key删除字典中的键值对,返回值是只要删除成功,则返回键值对的value  [.pop(key[, default])] default可有可无
                                        pop的默认值,往往是在删除的时候没有找到对应的key,则返回default默认值

popitem() 随机删除字典中的键值对(一般是从末尾删除元素)    从后面逐个删除键值对

clear() 清空字典


字典其它的内置函数
update() 合并操作               字典不支持 + 操作
dict1 = {0: 'tom', 1:'jack', 2:'lucy'}      dict2 = {0: 'lily', 4:'ruby'}
dict1.update(dict2)     print(dict1) #{0: 'lily', 1: 'jack', 2: 'lucy', 4: 'ruby'}

fromkeys(seq[, default])   --->将seq转成字典的形式,如果没有指定默认的value,则用None
list1 = ['aa', 'bb', 'cc']
new_dict = dict.fromkeys(list1)     print(new_dict) #{'aa':None, 'bb':None, 'cc':None}  

                                                  如果指定了默认值,则用default替代None
list1 = ['aa', 'bb', 'cc']
new_dict = dict.fromkeys(list1, 10)     print(new_dict) #{'aa': 10, 'bb': 10, 'cc': 10}

 

集合:

集合:  关键字 set  无序,不重复
作用:不重复特点
声明集合 s1 = set()     s2 = {} #字典:{key:value, key:value}   集合: {元素1, 元素2, 元素3 }

s1 = set()  #创建空集合只能使用set()
s2 = {1, 3, 7}  #大括号中有元素,则为集合

应用::将一个列表快速去重 set()  并且给排序

集合增删改:
1、增加     add()  添加一个元素,增加无序
            update()    可以添加多个元素    s1.update(元组、列表)

2、删除
remove(指定元素)  如果元素存在则删除元素,不存在则报错keyError

dicard()    类似remove,移出不存在的元素时,不会报错

pop()      删除第一个元素
clear()


其它:符号操作

in
==  判断内容是否相等    例:set2 = {2, 3, 4}  set3 = {2, 3, 4}  set2 == set3  返回True
不支持:+ *
支持:- 差集  difference()
      &  交集  intersection()
      |  并集  union()
      ^  对称差集  symmetric_difference()   symmetric对称的  获取的是两个集合中不一样的元素

      difference_update()  差集并更新
      intersection_update() 交集并更新
      union_update()    并集并更新
      symmetric_difference_update() 对称差集并更新

 

可变及不可变类型 及 类型间的转换:

不可变
不可变:对象所指向的内存中的值是不可以改变
不可变类型:int  string  float  元组tuple

可变:
对象所指向的内存中的值可以改变  在同一个内存地址中元素发生改变,地址不变
可变类型:
字典dict  列表list  集合set


类型转换:
字符串与其它类型间的转换:
str()   int()   list()  dict()  set()   tuple()

str ---> int, list, set, tuple, float

str <--- int, float
str <--- list, set, tuple

容器类:
list ---> set, tuple
list ---> dict (符合 [(key,value), (key,value), (...)])

tuple, set ---> list
dict{key:value} ---> list 只将key保存在list中

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值