Untitled4

TASK7-9 字典、集合、序列

1 字典简介

#字典的标志性符号是‘大括号:{}’。
#字典由对象组成,每个对象包括键和值,与键相关联的值包括数字、字符串、列表、字典等。
#键和值之间用‘冒号:’隔开。
#对象之间用‘逗号,’隔开。

a = {'樱桃':'红色','苹果':'绿色'}
type(a)
dict

#以上便为字典的表现方式之一。

1)访问字典中的值

a = {'樱桃':'红色','苹果':'绿色'}
print(a['樱桃'])
红色
a = {'樱桃':'红色','苹果':'绿色'}
print('我喜欢' + a['樱桃'] + '.')
我喜欢红色.

#访问字典中的值,只需指定字典名和放在方括号中的值。

2)添加对象

a = {'樱桃':'红色','苹果':'绿色'}
a['香蕉'] = '黄色'
print(a)
{'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}

#python不关心对象的添加顺序,只关心对象中键和值之间的关联关系。

3)修改值和删除字典的对象

a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
a['苹果'] = '黄色'
print(a)
{'樱桃': '红色', '苹果': '黄色', '香蕉': '黄色'}

#修改字典中的值只需将键重新赋予新的值即可。

a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
del a['苹果']
print(a)
{'樱桃': '红色', '香蕉': '黄色'}

2 字典的内置函数

1)fromkeys :创建及返回新的字典。

a = {}
a.fromkeys ((1,2,3),'数字')
{1: '数字', 2: '数字', 3: '数字'}
a = {}
a.fromkeys ((1,2,3),'数字','number')
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-4-2619eb9bdf14> in <module>
      1 a = {}
----> 2 a.fromkeys ((1,2,3),'数字','number')


TypeError: fromkeys expected at most 2 arguments, got 3

#首先建立一个空字典。然后利用fromkeys内置函数创建字典。
#基本格式:字典名称.内置函数()。
#fromkeys内置函数只能对所有键建立相同的一个值,不能建立多个值。

2)访问字典中的键、值、对象

a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
a.keys()
dict_keys(['樱桃', '苹果', '香蕉'])
a = {}
a = a.fromkeys(range(5),'棒')
for eachkey in a.keys():
 print(eachkey)
0
1
2
3
4
a = {}
a = a.fromkeys(range(5),'棒')
for eachvalue in a.values():
 print(eachvalue)
棒
棒
棒
棒
棒
a = {}
a = a.fromkeys(range(5),'棒')
for eachitem in a.items():
 print(eachitem)
(0, '棒')
(1, '棒')
(2, '棒')
(3, '棒')
(4, '棒')

#以上分别访问键、值、对象,用的内置函数分别是keys、values、items。
若在查找字典时,若无,可用get。

a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
a.get('火龙果','没有')
'没有'

#在写代码时,注意不要夹杂不必要的中文空格等,否则会报错。
#当然也可以用in、not in等来测试某键是否在此字典中。
#字典检索的键,而序列等检索的是值。

'火龙果'in a
False

3)其他内置函数

dir(dict)
['__class__',
 '__contains__',
 '__delattr__',
 '__delitem__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__getitem__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__iter__',
 '__le__',
 '__len__',
 '__lt__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__reversed__',
 '__setattr__',
 '__setitem__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 'clear',
 'copy',
 'fromkeys',
 'get',
 'items',
 'keys',
 'pop',
 'popitem',
 'setdefault',
 'update',
 'values']

#pop 与 popitem,pop跳出的是值,popitem是随机跳出一个对象。
#clear 清空。clear清空的引用地址。以下例子,两个变量用等号链接,表示b引用a,两个变量指向同一个地址,而clear清空的是地址,故a和b都被清空了。

a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
b = a
b.clear()
b
{}
a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
b = a
b.clear()
a
{}
a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
b = a
a.clear()
a
{}
a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
b = a
a.clear()
b
{}

#setdefault类似于get,但若字典中无此键,则会自动添加。

a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
a.setdefault('火龙果')
a
{'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色', '火龙果': None}
a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
a.setdefault('火龙果','红色')
a
{'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色', '火龙果': '红色'}
a = {'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色'}
b = {'火龙果':'红色'}
a.update(b)
a
{'樱桃': '红色', '苹果': '绿色', '香蕉': '黄色', '火龙果': '红色'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值