美文网首页
day006 笔记

day006 笔记

作者: Yehao_ | 来源:发表于2018-07-23 18:51 被阅读0次

    方法

    序号 方法 描述
    1 list.append(obj) 在列表末尾添加新的对象
    2 list.count(obj) 统计某个元素在列表中出现的次数
    3 list.extend(seq) 在列表末尾一次性追加另一个序列的多个值(用新列表扩展原来的列表)
    4 list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
    5 list.insert(index, obj) 将对象插入列表,index为需要插入的索引位置,obj为要插入的对象
    6 list.pop([index=-1]) 移除列表中的一个元素(默认为最后一个元素),并且返回该元素的值
    7 list.remove(obj) 移除列表中某个值的第一个匹配项
    8 list.reverse() 反向列表中的元素
    9 list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序
    10 list.clear() 清空列表
    11 list.copy() 复制列表

    函数

    序号 函数 描述
    1 len(list) 列表元素个数
    2 max(list) 返回列表元素最大值
    3 min(list) 返回列表元素最小值
    4 list(seq) 将元组转换为列表

    元组(tuple)

    tuple一旦初始化就不能修改。改、增、删相关操作不能作用于元祖。

    创建空元组。

    tuple1 = ()
    print(type(tuple1))
    
    Output:
    <class 'tuple'>
    

    查(和列表的查一模一样,没有任何区别)。

    colors = ('red', 'green', 'yellow', 'purple')
    print(colors[1])
    print(colors[0:3])
    print(colors[0::2])
    for item in colors:
        print(item)
    
    names = ('Alice', 'Bob', 'Bill')
    x , y, z = names  # 通过多个变量分别获取元组的元素(变量个数和元组元素个数一样)
    print(x,y,z)
    
    Output:
    Alice Bob Bill
    
    names = ['张家辉', '古天乐', '陈小春', '谢霆锋', '李健']
    first, *midel, last = names  # 通过变量名前加*号可以把变量变成列表,获取多个元素
    print(first, last)
    print(first, midel, last)
    
    Output:
    张家辉 李健
    张家辉 ['古天乐', '陈小春', '谢霆锋'] 李健
    

    字典(dict)

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

    d = {key1 : value1, key2 : value2 }
    

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

    创建一个空的字典:

    dict1 = {}
    print(type(dict1))
    
    Output:
    <class 'dict'>
    

    将其他数据类型转换成字典

    dict3 = dict([(1, 2), (2, 3)])  # 了解
    print(dict3)
    
    # 获取元素
    person = {'name': 'Cook',
              'age': 44,
              'gender': 'Female'
    }
    
    print(person['name'],person['age'])
    # 如果key不存在,会报KeyError
    
    print(person.get('name'))
    print(person.get('desc'))# 如果不存在,返回None
    """注意:如果key值确定存在。使用[]语法去取值。不确定key值是否存在才使用get方法去获取值"""
    
    
    # 增加/修改元素
    person['height'] = 1.8
    print(person)
    
    person['age'] = 18
    print(person)
    
    
    # 删除元素
    del person['height']
    print(person)
    
    age = person.pop('age')  # 会返回被删除的键值对对应的值
    print(age, person)
    

    字典.keys():获取字典所有的key,返回值的类型是dict_keys,但是可以把它当成列表来使用
    字典.values():获取字典所有的值(value)
    字典.items(): 将字典中所有的键值对转换成一个一个的元祖,key作为元祖的第一个元素,value作为元祖的第二个元素

    student_dict = {
        'name': '张三',
        'study_id': 'py1805001',
        'score': {
            'english': 60,
            'math': 100
        }
    }
    keys = student_dict.keys()  # 获取字典的所有key,返回值的类型是dict_keys,但是可以把他当成列表来使用
    
    for key in keys:
        print(key)
    
    print(student_dict.values()) # 获取字典所有的在(value)
    print(student_dict.items())  # 将字典中所有的键值对转换成一个一个的元组,key作为元组的第一个元素,value作为元组的第二个元素
    
    for key in student_dict:  # 直接遍历字典获取到的是所有的key(推荐使用)
        print(key, student_dict[key])
    
    for k, v in student_dict.items():  # 遍历直接获取到key和value(不推荐使用:更消耗cpu)
        print(k, v)
    
    字典其他操作

    1.fromkeys()
    dict.fromkeys(序列, value):创建一个新的字典,序列中的元素作为key,value作为值
    2.in
    key in 字典: 判断字典中是否存在指定的key
    3.update
    字典1.update(字典2): 使用字典2的键值对去更新字典1中的键值对。如果字典2中对应键值对在字典1中不存在,就添加。存在就更新

    集合

    集合(set)也是一种容器类型的数据类型(序列);数据放在{}中,多个之间只用逗号隔开:{1, 2, 'a'}
    集合是无序的(不能通过索引取取值), 可变(可以增删改), 元素不能重复
    集合可以进行数学中集合相关的操作:判断是否包含,求交集、并集、差集、补集

    # 集合 {} 无序
    set1 = {1, 2, 2, 3}
    print(set1)
    
    # 增删改查
    
    # 查:遍历
    set2 = {'Apple', 'Blueberry', 'pear', 'banana', 'watermolen'}
    
    for item in set2:
        print(item)
    
    # 增:
    # 1. set.add(obj) 将元素obj添加到集合中
    set3 ={1, 2, 4}
    set3.add(6)
    set3.add(3)
    print(set3)
    
    # 2. set1.update(set2) 将集合2中的元素添加到集合1中,自动去重
    set1.update(set2)
    print(set1)
    
    # 删: set.remove(obj) 删除指定的元素
    #      set.pop() 随机删除一个
    
    # 判断是否包含
    """
    set1 >= set2  :判断set1是否包含set2
    # 交、并、补 |、&、-
    """
    print({1,2,3}&{1,3,6})
    print({1,2,3}|{1,3,6})
    print({1,2,3}-{1,3,6})
    print({1,2,3}^{1,3,6})
    
    # 清空集合
    set1.clear()
    
    Output:
    {1, 2, 3}
    Blueberry
    banana
    Apple
    pear
    watermolen
    {1, 2, 3, 4, 6}
    {'Blueberry', 1, 2, 3, 'banana', 'Apple', 'pear', 'watermolen'}
    {1, 3}
    {1, 2, 3, 6}
    {2}
    {2, 6}
    

    相关文章

      网友评论

          本文标题:day006 笔记

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