美文网首页
Python基础之元组、字典,集合详解

Python基础之元组、字典,集合详解

作者: 时间仍在o是我们飞逝 | 来源:发表于2018-09-13 14:53 被阅读0次

    之前总结了Python列表,这篇总结Python的元组,字典和集合。

    一 元组 tuple

    Python 的元组与列表类似,不同之处在于元组的元素不能修改。

    (1)创建元组

    列表使用[ ]创建,而元组使用(),元素用 “,” 分割。不使用()也可以表示元组

    tup1 = ()  # 空元组
    tup2 = ('A', 2, True, 8.8)
    tup3 = 'A', 2, True, 8.8
    

    注意:当元组只有一个元素,需要在元素后面添加逗号,否则括号会被当作运算符使用:

    tup = (1,)
    tup2 = (1)
    print(type(tup))  #<class 'tuple'>
    print(type(tup2))  #<class 'int'>
    

    (2)访问元组

    和列表一样,通过索引访问元素,切片等规则同样适用:

    tup1 = ('A', 'B', 'C', 'D', 'E')
    print(tup1[2])
    print(tup1[1:4])
    

    输出:

    C
    ('B', 'C', 'D')
    

    (3)修改元组

    元组中的元素值是不允许修改的,但是我们却可以通过对整个元素重新赋值,达到效果:

    tup1 = ('A', 'B', 'C', 'D', 'E')
    
    # tup1[0] = "666"  抛异常 TypeError: 'tuple' object does not support item assignment
    tup1=('666', 'B', 'C', 'D', 'E')
    print('最新的tuple: ',tup1) 
    

    输出

    最新的tuple:  ('666', 'B', 'C', 'D', 'E')
    

    (4)常见用法

    • len() 函数,求元组长度
    • in 判断元素是否在元组里
    • for 遍历
    • 切片
      上面这些操作,和列表一样,参照列表写即可。

    二 字典 dict

    Python字典是一种可变容器,储存一系列键值对,键和值一一对应,可以使用键来访问与之相关联的值。
    Python对键的要求是:不可变切唯一,也就是说键只能用str,int等不可变对象。对值没有要求,可以储存任何值。

    (1)定义字典

    字典的每个键值对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。

    d = {key1 : value1, key2 : value2 }
    

    (2)访问字典

    通过键去访问对应的值,如果键不存在,会抛出KeyError:

    d = {'name': '小王', 'age': "18"}
    
    print('name: '+d['name'])  #name: 小王
    print('age: '+d['age'])  #age: 18
    print(d['66']) #KeyError: '66'
    

    也可以动态增加键值对:

    d['height']="180"
    print(d)  #{'name': '小王', 'age': '18', 'height': '180'}
    

    (3)修改字典

    通过键去修改对应的值:

    d = {'name': '小王', 'age': '18', 'height': '180'}
    
    d['name'] = '老王'  # 修改
    
    del d['age']  # 删除键值对  pop可以返回删除的值
    print(d)
    
    d.clear()  # 清空字典
    print(d)
    

    输出:

    {'name': '老王', 'height': '180'}
    {}
    

    (4)遍历字典

    ①获取所有键值对信息:
    d = {'name': '小王', 'age': '18', 'height': '180'}
    
    for k,v,in d.items():
        print('键为:{},值为:{}'.format(k,v))
    

    输出为:

    键为:name,值为:小王
    键为:age,值为:18
    键为:height,值为:180
    
    ②获取所有键的信息:
    d = {'name': '小王', 'age': '18', 'height': '180'}
    
    for k in d.keys():
        print('键为:{}'.format(k))
        if k == 'age':
            print("找到你的年龄啦~"+d[k])
    

    输出:

    键为:name
    键为:age
    找到你的年龄啦~18
    键为:heit
    
    ③获取所有值:
    d = {'name': '小王', 'age': '18', 'height': '180'}
    
    for v in d.values():
        print('值为:{}'.format(v))
        if v == '180':
            print("这是height 吧~"+v)
    

    输出:

    值为:小王
    值为:18
    值为:180
    这是height 吧~180
    

    三 集合set

    集合(set)是一个无序不重复元素的序列。

    (1) 创建集合set

    有两种方式,使用{ } 或者set(list)方式:

    s = set([1, 2, 3, 4])
    print(s)
    
    s2 = {1, 2, 3, 4}
    print(s2)
    
    s3 = set()  # 空集合,不能用s3={},这是空字典
    print(s3)
    

    输出为:

    {1, 2, 3, 4}
    {1, 2, 3, 4}
    set()
    

    (2) 集合基本操作

    • 添加元素,使用add方法,因为set自带去重功能,所以添加重复元素没有效果,或者使用updata,可以添加列表,元组,字典等
    s = set()  # 空集合 ,不能用s={},这是空字典
    s.add(1)
    s.add(1)
    s.add(1)
    print(s)  # {1}
    s.update(['22','33'])
    print(s) # {'33', 1, '22'}
    
    • 删除元素使用remove,或者discard。前者当元素不存在会报错,后者不会。
    s=set([1,2,3,4,5])
    s.remove(1)
    # s.remove(6) KeyError: 6
    print(s)  # {2, 3, 4, 5}
    s.discard(2)
    s.discard(6)
    print(s) # {3, 4, 5}
    
    • pop 方法是随机删除一个元素
    • len 求长度
    • clear 清空set
    • in 判断元素是否存在
    • for 循环

    总结出不少东西,但其实常用的没有几个方法。大部分有个印象,用到了再查,要比直接全记住效果好很多~

    相关文章

      网友评论

          本文标题:Python基础之元组、字典,集合详解

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