美文网首页
day07-python中的字典和集合

day07-python中的字典和集合

作者: d4lx | 来源:发表于2018-08-28 19:47 被阅读0次

01-字典(dict)

1、字典是容器类型(序列),以键值对作为元素(字典里面存的数据全是以键值对的形式出现的)
格式:{key1: value,key2, value2...}

2、键值对:键:值(key:value)
键(key):要唯一,不可变的(数字、布尔、字符串和元祖,推荐使用字符串),如果出现多个键相同的元素,前面的就会被后面的覆盖;
值(value):可以是任何类型的数据;

3、字典是可变的(可以进行增删改操作),其操作的数据是字典中的值;

4、字典的查操作
获取字典的元素对应的值
格式:
a、字典[key]:其中如果key不存在就会报异常;
b、字典.get(key):其中如果key不存在不会报错,而是返回None;
c、遍历字典:其遍历的是字典的key值;

5、字典的修改操作
格式:字典[key] = 新值(key存在)

6、字典的添加操作
格式:字典[key] = 值(key原本不存在于字典中)

7、字典的删除操作
格式1:del 字典[key]
格式2:字典.pop[key]

02-字典的相关运算和方法

1、字典不支持“+”和“*”;
2、in和not in :在字典中,是判断key是否存在;
3、len():求字典的长度
4、clear():删除字典中的所有元素(键值对)
5、copy():拷贝字典中的所有元素,放到一个新的字典中;
6、dict.fromkeys(序列,默认值=None):将序列中的每个值作为key,默认值为valuec创建一个新的字典;
7、字典.keys():获取字典中所有的key,以列表的形式返回;
8、字典.values():获取字典中所有的value;
9、字典.items():获取字典的键值对
10、字典.setdefault(key,默认值= none):给字典添加键值对;如果本身就存在,这个方法无作为;
11、字典1.update(字典2):将字典2的键值对更新到字典1中;如果字典2中的key在字典中是存在的,就用字典2中可以对应的值覆盖字典1中的值;如果不存在就添加到字典1中;

03-字典和列表的组合使用

1、什么时候用列表?什么时候用字典?
保存的数据是同一类型的时候,就使用列表;
保存的数据不是同一类型的时候,就是用字典;
实例:

#列表中有字典
student_system = [
    {'name': '001', 'age': 18, 'tel': '234', 'native_place': '成都'},
    {'name': '002', 'age': 18, 'tel': '325', 'native_place': '北京'},
    {'name': '003', 'age': 18, 'tel': '3245', 'native_place': '上海'}


]
#取出第一个学生的籍贯
print(student_system[0]['native_place'])

#字典中有列表
py_class = {
    'class_name': 'python1806',
    'students': [
        {'name': '001', 'age': '18', 'id': '180601'},
        {'name': '002', 'age': '18', 'id': '180602'},
        {'name': '003', 'age': '18', 'id': '180603'},
    ]
}

#取班级名
print(py_class['class_name'])
#取第3个学生的名字
print(py_class['students'][2]['name'])

#练习:在班级python1806中添加一个学生,学生的信息是输入的:
# name = input('请输入姓名:')
# age = int(input('请输入年龄:'))
# id = input('请输入学号:')
# #一个学生对应一个字典
# student = {'name': name, 'age': age, 'id': id}
# #将学生对应的字典添加到列表中
# py_class['students'].append(student)
# print(py_class['students'])

#练习:输入一个学生的姓名,根据输入的姓名删除对应的学生
del_name = input('请输入要删除的学生的姓名:')
#遍历取出每个学生对应的字典
for x in py_class['students'][:]:#涉及到删除操作,要使用[:]来切片完成拷贝
    
    #判断学生姓名是否相等
    if x['name'] == del_name:
        py_class['students'].remove(x)

print(py_class['students'])

04-集合(set)

1、定义:集合是python中的一种容器类型;无序的,可变的,值唯一;其元素除了可变的类型,其他的基本都行,数字、布尔和字符串都是可以的;
格式:集合名 = {元素1,元素2,...}

2、其他数据转换成集合时,自带去重功能;

3、集合中的相关操作
1)、查(获取集合中的元素)
集合是不能单个获取其中的某一个元素的
只能通过遍历来实现查询;
2)、增(添加元素)
格式1:集合.add(元素)
格式2:集合1.update(集合2):将集合2中的元素添加到集合1中;
3)、删
格式:集合.remove(元素)
集合.clear():删除所有元素

4、集合相关的运算
1)、是否包含:
集合1 >= 集合2:判断集合1是否包含集合2
集合1 <= 集合2:判断集合2是否包含集合1
2)、求两个集合的并集:
集合1 | 集合2
3)、求两个集合的交集:
集合1 & 集合2
4)、求两个集合的差集:
集合1 - 集合2
5)、求两个集合的补集:
集合1 ^ 集合2

补充:sum()是python中的求序列元素和的内置方法。

相关文章

  • day07-python中的字典和集合

    01-字典(dict) 1、字典是容器类型(序列),以键值对作为元素(字典里面存的数据全是以键值对的形式出现的)格...

  • javaScript数据结构--字典

    在字典中存储的值是【键、值】对,字典和集合很相似,集合以【值、值】的形式存储。字典也称作映射。 字典的代码实现: ...

  • 2. 字典和集合

    字典和集合相比于列表和元组,字典和集合的性能更优:主要体现在查找、增加和删除操作; 1. 字典和集合基础 字典是一...

  • 6 字典和集合——《Swift3.0从入门到出家》原创连载

    6 字典和集合——《Swift3.0从入门到出家》 字典和集合 字典 字典是集合类型存放多个键值对,其中键是唯一的...

  • python 字典相关操作

    1. python 在列表、字典、集合中筛选数据 列表:filter函数、列表解析 字典:字典解析 集合:集合解析...

  • Python字典和集合

    字典和集合的定义 字典:字典是由一系列键(key)和值(value)配对组成的元素的集合集合:和字典基本相同,唯一...

  • 【第11天】python全栈从入门到放弃

    1.字典和集合 集合是没有values的字典,集合和字典的key都必须不可变且可哈希 2. range和rando...

  • NSDictionary字典的使用以及注意

    字典:NSDictionary字典就是关键字及其定义(描述)的集合。 Cocoa中的实现字典的集合NSDictio...

  • 走进 Typescript 数据结构(字典)

    集合、字典和散列表可以存储不重复的值。字典和集合相似,集合以[值,值]的形式存储元素,字典是以[键,值]的形式来存...

  • 第7章 字典和散列表 (Dictionary and HashT

    集合、字典和散列表可以存储不重复的值,在集合中,感兴趣的是每个值本身,并作为主要元素。而在字典和散列表中是以键值对...

网友评论

      本文标题:day07-python中的字典和集合

      本文链接:https://www.haomeiwen.com/subject/femqwftx.html