• python第六天(元组、字典、集合)


    一、元组(tuple)

      作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),主要用来读

      定义:与列表类型相比,只不过把[ ]换成()

    age=(11,22,33,44,55)
    print(age,type(age))
    age=tuple((11,22,33,44,55))
    print(age,type(age))

    输出:

    (11, 22, 33, 44, 55) <class 'tuple'>
    (11, 22, 33, 44, 55) <class 'tuple'>

    .count()  #用于查找某个元素在元组中出现的次数

    str=('this','is','string','is')
    print('is元素的个数是:',str.count('is'))

    输出:is元素的个数是:2

    .index()  #用于从元组中找出某个对象的第一个匹配项的索引位置,如果这个对象不在元组中会报一个异常

    t=('google','runnoob','taobao')
    print(t.index('taobao'))

    输出:2

    如果查找的对象不存在的话如下:

    t=('google','runnoob','taobao')
    print(t.index('111'))
    #运行后台报错
    指定位置查找

    t=('google','runnoob','taobao')
    print(t.index('taobao',0,3))  #骨头不顾尾

    输出:2

    二、字典

    作用:存多个值,key-value,取值速度快

    定义:key必须是不可变类型,value可以使任意类型

    1、按key存取值:可存可取

    dic={'剧情':1,'犯罪':10,'动作':8}
    keys=list(dic.keys())
    values=list(dic.values())
    print(keys)
    print(values)
    输出:

    ['剧情', '犯罪', '动作']
    [1, 10, 8]

    增删改查

    增:

    dic={}
    dic['age']=18
    print(dic)

    输出:

    {'age': 18}

    修改:

    dic={'age':1}
    dic['age']=18
    print(dic)

    输出:{'age': 18}

    查询:

    dic={}
    dic['name']='yzn'
    print(dic['name'])

    输出:yzn

    删除:

    dic={}
    dic['name']='yzn'
    print(dic['name'])
    del dic['name']
    print(dic)

    输出:{}

    get取值:

    dic={'a':10,'b':20}
    res=dic.get('a')
    print(res)

    输出:10

    #遇到不存在的key默认返回None,可以自定义返回值

    dic={'a':10,'b':20}
    res=dic.get('c','找不到值')
    print(res)

    输出:找不到值

    增加:

    dic={'a':10,'b':20}
    dic.update({'c':10,'d':9})
    print(dic)

    输出:{'a': 10, 'b': 20, 'c': 10, 'd': 9}

    dic={'a':10,'b':20}
    dic.pop('a')
    print(dic)

    输出:{‘b’:20}

    复制:

    dic={'a':10,'b':20}
    new_dic=dic.copy()
    print(new_dic)

    输出:{'a': 10, 'b': 20}

    浅复制:浅复制之后,内部成员的地址还是原来的地址

    d1={'list':[1,2]}
    d2=d1.copy()
    print(d1,id(d1),id(d1['list']))
    print(d2,id(d2),id(d2['list']))
    d1['list'].append('abc')
    print(d1)

    {'list': [1, 2]} 2400496217472 2400496259976
    {'list': [1, 2]} 2400496217544 2400496259976
    {'list': [1, 2, 'abc']}

    随机删除:  #返回的值是(key,value)

    dic={'a':10,'b':20}
    print(dic)
    print(dic.popitem())
    print(dic)
    输出:

    {'a': 10, 'b': 20}
    ('b', 20)
    {'a': 10}

    字典的循环(迭代

    dic={'a':10,'b':20,'c':30}
    for k in dic:
    print(k,dic[k])

    输出:

    a 10
    b 20
    c 30

    单独显示key或value

    dic={'a':10,'b':20,'c':30}
    values=dic.values()
    print(values)
    keys=dic.keys()
    print(keys)

    输出:

    dict_values([10, 20, 30])
    dict_keys(['a', 'b', 'c'])

    显示key-value键值对关系

    dic={'a':10,'b':20,'c':30}
    k_vs=dic.items()
    print(k_vs)
    输出:dict_items([('a', 10), ('b', 20), ('c', 30)])

    三、集合(set)

    1、单列数据集合:str,list,tuple,set    双列:dict

    2、无序存储:无key无index,无法取值

    3、可变数据类型,内部可以存放任意类型数据,但数据具有唯一性

     交集

    p_set={'a','b','c','egon'}
    l_set={'x','y','z','egon'}
    res=p_set & l_set
    print(res)
    输出:{'egon'

    并集

    p_set={'a','b','c','egon'}
    l_set={'x','y','z','egon'}
    res=p_set | l_set
    print(res)

    输出:{'egon', 'y', 'b', 'a', 'x', 'z', 'c'}

     差集

    p_set={'a','b','c','egon'}
    l_set={'x','y','z','egon'}
    res=p_set - l_set
    print(res)

    输出:{'b', 'a', 'c'}

    对称差集

    p_set={'a','b','c','egon'}
    l_set={'a','y','z','egon'}
    res=p_set ^ l_set
    print(res)

    输出:{'c', 'y', 'z', 'b'}

  • 相关阅读:
    USACOZero Sum
    USACOControlling Companies
    USACOParty Lamps
    USACOMoney Systems
    UVa11292
    USACOLongest Prefix
    USACOThe Tamworth Two
    USACORunaround Numbers
    业内常见电子病历编辑器简单比较(1)编辑控件来源比较
    GB(国标)字典大全
  • 原文地址:https://www.cnblogs.com/yangzhaon/p/10595742.html
Copyright © 2020-2023  润新知