ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day07-2 字典,集合的内置方法

2019-05-24 21:52:55  阅读:292  来源: 互联网

标签:myself 内置 name lj day07 dict print hobby 字典


目录

字典的内置方法

1. 作用

  • 当列表中有很多值的时候,就会显得很乱,所以有了字典

2. 定义方式

  • '{}'内以逗号分隔开多个键值对key:value的值,key一般为字符串,对值具有描述意义,value可以是任意数据类型的值
myself_dict = {'name': 'lj', 'age': 21, 'height': 130, 'hobby_list': ['chi', 'he', 'wan', 'le'],}

3. 方法

优先掌握

  • 按key存取值, 可存可取
print(myself_dict['name'])
myself_dict['age'] -= 1
print(myself_dict)

lj
{'name': 'lj', 'age': 20, 'height': 130, 'hobby_list': ['chi', 'he', 'wan', 'le']}

  • 长度len
    • 一个键值对是一个长度
print(len(myself_dict))

4

  • 成员运算, in 和 not in
    • 比较的是键而不是值
print('name' in myself_dict)
print('lj' in myself_dict)

True

False

  • 删除 del
    • 参数填键,不填会报错,找不到也会报错
    • 和pop的区别是del可以删除整个变量
del myself_dict['height']
print(myself_dict)

{'name': 'lj', 'age': 20, 'hobby_list': ['chi', 'he', 'wan', 'le']}

  • 删除 pop
    • 参数填键,不填会报错,找不到也会报错
myself_dict.pop('age')
print(myself_dict)

{'name': 'lj', 'hobby_list': ['chi', 'he', 'wan', 'le']}

  • keys & values & items
    • 返回的值类似于列表,但不是列表,以后再讲
    print(myself_dict.keys())
    print(myself_dict.values())
    print(myself_dict.items())

dict_keys(['name', 'hobby_list'])
dict_values(['lj', ['chi', 'he', 'wan', 'le']])
dict_items([('name', 'lj'), ('hobby_list', ['chi', 'he', 'wan', 'le'])])

  • for 循环
for i in myself_dict:
    print(i)
print()
for i in myself_dict.keys():
    print(i)
print()
for y in myself_dict.values():
    print(y)
print()
for i in myself_dict.items():
    print(i)
print()
for i, y in myself_dict.items():
    print(i, y)
print()

name
hobby_list

name
hobby_list

lj
['chi', 'he', 'wan', 'le']

('name', 'lj')
('hobby_list', ['chi', 'he', 'wan', 'le'])

name lj
hobby_list ['chi', 'he', 'wan', 'le']

需要掌握

  • get
    • 和直接用键取值的区别在于: 如果键不存在,不会报错,默认返回None,可以设定返回值
print(myself_dict.get('name'))
print(myself_dict.get('asda'))
print(myself_dict.get('asda', 123))

lj
None
123

  • update
    • 将update中的字典更新到原字典中,有就更新,没有就添加
one_dict = {'one': 1}
myself_dict.update(one_dict)
myself_dict.update({'name': 'ljl'})

print(myself_dict)

{'name': 'ljl', 'hobby_list': ['chi', 'he', 'wan', 'le'], 'one': 1}

  • fromkeys
    • 无视方法前面的字典内容,把给定列表内的元素取出来当成key,然后使用同一个value新建一个字典
from_dict1 = dict.fromkeys([1, 2, 3], 'num')
from_dict2 = myself_dict.fromkeys([1, 2, 3], 'num')
print(from_dict1)
print(from_dict2)

{1: 'num', 2: 'num', 3: 'num'}
{1: 'num', 2: 'num', 3: 'num'}

  • setdefault
    • 如果字典中有该key的话,则该key对应的值不变,如果没有,就添加一个
myself_dict.setdefault('a', 1)
myself_dict.setdefault('name', 'lj')
print(myself_dict)

{'name': 'ljl', 'hobby_list': ['chi', 'he', 'wan', 'le'], 'one': 1, 'a': 1}

4.存储一个值or多个值

  • 多个值

5.有序or无序

  • 无序

6.可变or不可变

  • 可变
注意:字典的键是惟一的,但值不是惟一的,所以大多的方法都是使用键作为参数

标签:myself,内置,name,lj,day07,dict,print,hobby,字典
来源: https://www.cnblogs.com/lucky75/p/10920354.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有