Python 学习第三期

time :5-12

字典的基本操作

(1),通过键找到字典的元素方法,若未找到相关数据,.get() 会返回 None。

lis={'zhangsan':100,'lisi':200}
print(lis['zhangsan'])#方法一
print(lis.get('zhangsan'))#方法二

输出结果:100

(2),键的判断

lis={'zhangsan':100,'lisi':200}
print('zhangsan' in lis)

输出结果:True

(3),字典元素的删除,清除

lis={'zhangsan':100,'lisi':200}
del lis['zhangsan']
print(lis)
lis.clear()
print(lis)

输出结果:{'lisi': 200}

                  {}

(4),字典元素的新增,修改

lis={'zhangsan':100,'lisi':200}
lis['xxx']=80
print(lis)

输出结果:{'zhangsan': 100, 'lisi': 200, 'xxx': 80}

(5),获取字典视图

1,获取所有字典键值

lis={'zhangsan':100,'lisi':200}
print(lis.keys())

输出结果:dict_keys(['zhangsan', 'lisi'])

2,获取字典元素

lis={'zhangsan':100,'lisi':200}
print(lis.vaules())

输出结果:dict_values([100, 200])

3,获取所有的键值对

lis={'zhangsan':100,'lisi':200}
print(lis.items())

输出结果:dict_items([('zhangsan', 100), ('lisi', 200)])

(6),字典元素的遍历

lis={'zhangsan':100,'lisi':200,'xxx':89}
for a in lis :
    print(a,lis.get(a))

输出结果:zhangsan 100 lisi 200 xxx 89

字典的特点

1,字典中的所有元素都是一个键值对,键值key不可重复(会覆盖原来的值),value可以重复

2,字典的元素是无序的,无法定向插入元素

3,字典中的key必须是不可变对象

4,字典可以动态伸缩


time :5-13

字典生成式

即生成字典的第三种方式,假设有两个列表,我们可以通过内置函数 zip() 进行打包操作,合成一个字典。(注:若上下元素个数不同时,取到元素个数最小的列表合并成字典)

lis1=['asd','qwe','zxc']
lis2=[20,30,40]
x = { i:j for i,j in zip(lis1,lis2) }#i,j均为变量
print(x)
lis1=['asd','qwe','zxc']
lis3=[20,30]
y = { i:j for i,j in zip(lis1,lis3) }

输出结果:{'asd': 20, 'qwe': 30, 'zxc': 40}

                  {'asd': 20, 'qwe': 30}

元组

(1),概念

类似于列表,但是不同点是列表的元素是可以更改的,包括修改元素值,删除和插入元素,所以列表是可变序列,而元组一旦被创建,它的元素就不可更改了,所以元组是不可变序列。元组也可以看做是不可变的列表,通常情况下,元组用于保存无需修改的内容

(2),元组的创建与输出

若元组中只有一个元素时,要加 , 在括号内,否则判定为 str 类型。

若输出指定元素时,与列表相同,写出相应元素下标即可

lis=('hellow','python',666)
print(lis)
x = tuple(('hellow','python',666))
print(x)
lis3=(50,)
print(type(lis3))
print(lis[2])

输出结果:('hellow', 'python', 666)

                  ('hellow', 'python', 666)

                  <class 'tuple'>

                  666

(3),元组的遍历

lis=('hellow','python',666)
for i in lis:
    print(i,'',end='')

输出结果:hellow python 666


time :5-14

集合

可变类型序列,类似于没有value的字典。

集合的创建

和字典相同,里面的键即元素不允许重复。可以将其他类型转化为集合类型。

lis={2,3,3,4,5,6,7}
print(lis)
lis2=set(range(6))
print(s)
lis3=set([1,2,3,4,5])
print(lis3)
lis4=set((1,2,3,4,5))
print(lis4)
lis5=set('python')#注意是无序的
print(lis5)

输出结果:{2, 3, 4, 5, 6, 7}

{0, 1, 2, 3, 4, 5}

{1, 2, 3, 4, 5}

{1, 2, 3, 4, 5}

{'t', 'h', 'o', 'y', 'n', 'p'}

集合的相关操作

(1),新增元素 .add() 添加一个元素,.update() 添加多个元素。

lis={12,34,45,57}
lis.add(60)
print(lis)
lis.update({20,30})
print(lis)
#lis.update(列表/元组)均可

输出结果:{34, 12, 45, 20, 57}

{34, 12, 45, 20, 57, 30}

(2),删除元素 .remove() 删除一个元素; .discard() 删除一个元素,若集合中没有此元素不会报错,随机删除一个元素; .pop() 里面无参数; .clear() 删除整个集合。

集合间的关系

(1),判断两个集合是否相等,只要里面的元素相同即集合相同。

lis={10,20,30}
lis2={20,10,30}
print(lis==lis2)

输出结果:True

其余关系了解即可:

集合的数学操作

lis={10,20,30,40}
lis2={20,30,40,50}
print(lis.intersection(lis2))
print(lis & lis2)#求交集操作
print(lis.union(lis2))
print(lis | lis2)#求并集操作
print(lis.difference(lis2))
print(lis-lis2)#求差集操作

输出结果:{40, 20, 30}

{40, 20, 30}

{40, 10, 50, 20, 30}

{40, 10, 50, 20, 30}

{10}

{10}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值