字典与集合_月隐学python第8课

一、字典

字典属于无序列,元素存放无序,是通过哈希方式进行数据存取的,字典是一个可变容器,字典中保存一个的键值对: key : value。我们通过key来获取对应的值,很类似我们的汉语字典。

  • 字典中键必须是唯一的,必须是不可变类型
  • 字典查找速度比较快

1 字典的创建

2 字典操作

⼆、集合(set)


特点:不允许有重复元素,如果添加重复元素,则会⾃动过滤,可以进行交集、并集的运算。
本质:无序且无重复元素的数据结构


1 创建集合

2 集合操作

三、补充


1.数据类型的转换

2. 布尔值


在python中,能够解释为假的值有: None、 0、 0.0、 False、所有的空容器(空列表、空元组、空字典、空集合、空字符串串),其它是真


3. zip函数


zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
语法: zip(iterable1,iterable2, ...)
参数说明: iterable -- 一个或多个可迭代对象(字符串、列表、元祖、字典)

4. 随机数


import random

5.列表推导式


运⽤列表推导式,可以快速生成list,可以通过一个list推导出另一个list,⽽代码却十分简洁。

6.集合推导式和字典推导式


集合推导式

字典推导式

作业

1. 创建一个空元组: _t1 = ()____;创建一个具有一个元素5的元组:__t1 = (5,)________。

2. 创建一个空字典d: _d = {}_;向d中添加⼀个键值对( ’a’:3)__d['a'] = 3____; d[‘a’] = __3______; d[‘b’] = ___2______; d.get(‘b’,2) =_2__;执行d[‘b’] = 5后, d = _{'a': 3, 'b': 5}__。执行d.update({1:3,2:4})后d=__{'a': 3, 'b': 5, 1: 3, 2: 4}_____。

3. d = {‘a’:1,’c’:5,’d’:9,’b’:10};则list(d.keys()) = __['a', 'c', 'd', 'b']___________;
list(d.values()) = _[1, 5, 9, 10]__________; list(d.items()) = __[('a', 1), ('c', 5), ('d', 9), ('b', 10)]____________;

4. 执行a,b,c = ‘123’后, a=_1_; b=_2__; c=_3__。

5. 执行*a,b,c = 1,2,3,4,5,6后, a=_[1, 2, 3, 4]__________; b=__5__;c = __6___。

6. 执 行 a , b , c = { " h e l l o " : 1 0 , " w o r l d " : 2 0 , " 你 好 " : ' 世 界 ' } 后 ,
a=__h e l l o_____;b=_w o r l d_____;c=__你 好_____。

7. 执行a,*b,c = [1,2,3,4,5,6]后, a=___1__;b=__[2, 3, 4, 5]______;c=___6____。

8. a=[2,5,3,9,6],则执行a,b,*c = a.sort(reverse=True)后, a = __9__;b=__6___。

9. 已知a = {1,2,3,3,4,5},执⾏a.add(4)后, a = __{1, 2, 3, 4, 5}____________;执⾏a.remove(2)后a=___{1, 3, 4, 5}_________;执行a = a – {1,2,3}后a=_{4, 5}__; a =a | {1,2,6,7}后a=___{1, 2, 3, 4, 5, 6, 7}_____;执行a = a & {1,3,5}后a =__{1, 3, 5}__。

10.执行a=[x for x in range(10) if x%3]后, a=____[1, 2, 4, 5, 7, 8]_______________。

11.执行a = [5 for x in range(5)]后a = __[5, 5, 5, 5, 5]______________。

12.a=[2,4,9,5,9,8,1],表达式[index for index,value in enumerate(a) if value== max(a)]的值为: _[2, 4]_____________。

13.a=[[1,3,5],[2,4,6]],则表达式[x for elem in a for x in elem]的值为:_[1, 3, 5, 2, 4, 6]_________。

14.a=[2,3,4,1,6,9,8],执行b = [index for index, value in enumerate(a) if value>3]后, b=__[2, 4, 5, 6]________。

15.x=’abcde’, y=’adcbe’;则执行a= [m==n for m,n in zip(x,y)]后,a=___[True, False, True, False, True]________。

16.表达式[1]+[2] = _[1, 2]_______;(1,)+(3,)=__(1, 3)____; (1) + (2) = __3______。

17.a = {‘a’:10,’b’:3,’c’:5},则sum(list(a.values())) = __18_____。

18.请定义空列表: l1 =_[ ]____; 空元组: _t1 =_( )_____; 空集合: __s1 = set()____; 空字典:__d1 = {}___。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风中月隐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值