python基础任务三(字典、集合和条件结构)

一、字典

1.创建字典

字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 。

dict1={key1:value1,key2:value2}

键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

dict1={'me':23,'you':(3,4),'he':['I','you'],45:78}

2.访问字典里的值

把相应的键放入到方括号中,即可访问该键下的值。

dict1={'me':23,'you':(3,4),'he':['I','you'],45:78}
print("dict1['me']: ",dict1['me'])  
# dict1['me']:  23
# print('dict1['me']: ',dict1['me']) 会报错,原因是里面'me'含有单引号,则外层的单引号需要改为双引号

3.修改字典

增加、修改和删除字典中的键值对。

dict1={'me':23,'you':(3,4),'he':['I','you'],45:78}
dict2={'python':34,'java':87}
dict1['python']=88  #增加键值对
print(dict1)
dict1['me']='Love'  #修改值
print(dict1)
del dict1['he']  #删除某个键值对
print(dict1)
dict1.clear()  #清除字典
print(dict1)
del dict2   #删除字典

返回结果

{'me': 23, 'you': (3, 4), 'he': ['I', 'you'], 45: 78, 'python': 88}
{'me': 'Love', 'you': (3, 4), 'he': ['I', 'you'], 45: 78, 'python': 88}
{'me': 'Love', 'you': (3, 4), 45: 78, 'python': 88}
{}

4.字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。

dict3={'python':34,'java':87,'python':99}
print(dict3)
# {'python': 99, 'java': 87}

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行.

dict4={['python']:34,'java':87,'python':99}
# 报错,键不能为list

5.字典内置函数和方法

函数

方法

(1)dict.copy()  浅复制

dict4={'python':34,'java':[87,1,5,7],'oracle':99}
dict5=dict4      #浅复制,直接赋值,引用对象
dict6=dict4.copy()   #一级目录深拷贝,二级目录浅拷贝,所以二级目录发生了改变
dict4['python']='root'
dict4['java'].remove(1)
print(dict4)
print(dict5)
print(dict6)

返回结果

{'python': 'root', 'java': [87, 5, 7], 'oracle': 99}
{'python': 'root', 'java': [87, 5, 7], 'oracle': 99}
{'python': 34, 'java': [87, 5, 7], 'oracle': 99}

(2)dict.fromkeys(seq[,value])  用序列值创建新字典

seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
print ("新的字典为 : %s" %  str(dict))
 
dict = dict.fromkeys(seq, 10)
print ("新的字典为 : %s" %  str(dict))

返回结果

新的字典为 : {'name': None, 'age': None, 'sex': None}
新的字典为 : {'name': 10, 'age': 10, 'sex': 10}

(3)dict.get(key, default=None) 返回键的值

dict = {'Name': 'Runoob', 'Age': 27}
print ("Age 值为 : %s" %  dict.get('Age'))
print ("Sex 值为 : %s" %  dict.get('Sex'))
print ("Sex 值为 : %s" %  dict.get('Sex', "NA"))

返回结果

Age 值为 : 27
Sex 值为 : None
Sex 值为 : NA

(4)dict.items()    以列表返回可遍历的(键, 值) 元组数组

dict2={'python':34,'java':87}
print(dict2.items())

返回结果

dict_items([('python', 34), ('java', 87)])

(5)key in dict  查询键是否在字典里,不能用于判断值

dict2={'python':34,'java':87}
print('python' in dict2)
print(34 in dict2) 

返回结果

True
False

(6)dict.items()   以列表返回可遍历的(键, 值) 元组数组

dict1={'me':23,'you':(3,4),'he':['I','you'],45:78}
dict1.items()

返回结果

dict_items([('me', 23), ('you', (3, 4)), ('he', ['I', 'you']), (45, 78)])

(7)dict.keys()  返回键

dict1={'me':23,'you':(3,4),'he':['I','you'],45:78}
dict1.keys()

返回结果

dict_keys(['me', 'you', 'he', 45])

(8)dict.update(dict2)   将dict2的键值对添加到dict中

dict1={'me':23,'you':(3,4),'he':['I','you'],45:78}
dict2={'python':34,'java':87}
dict1.update(dict2)
print('更新后的dict1:',dict1)

返回结果

更新后的dict1: {'me': 23, 'you': (3, 4), 'he': ['I', 'you'], 45: 78, 'python': 34, 'java': 87}

(9)dict.values()   返回值

dict1={'me':23,'you':(3,4),'he':['I','you'],45:78}
dict1.values()

返回结果

dict_values([23, (3, 4), ['I', 'you'], 78])

(10)dict.pop(key)  返回删除的值

dict1={'me':23,'you':(3,4),'he':['I','you'],45:78}
dict1.pop('me')
# 23

(11)dict.popitem() 随意删除某键值对并返回值(一般删除末尾对)

dict1={'me':23,'you':(3,4),'he':['I','you'],45:78}
dict1.popitem()
# (45, 78)

二、集合 set

集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

                          

三、条件结构(判断语句和循环语句)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值