zoukankan      html  css  js  c++  java
  • 2018.12.9——元组、字典

    一、元组与其他数据结构的相互转换:

    1.字符串转换为元组:

    v='dfsfdsff'
    x=tuple(v)
    print(x)
    
    #结果:('d', 'f', 's', 'f', 'd', 's', 'f', 'f')——类似于for循环

    2.列表转换为元组:

    v=[123,'dfd',5332]
    x=tuple(v)
    print(x)
    #结果输出:(123, 'dfd', 5332)

    补充:join用法

    连接的不可以有数字!

    v1=(123,'dfd',5332)
    v2=(123,5332)
    v3=('sdfs','dasd')
    # x1="_".join(v1)
     x2="-".join(v2)
    # x3="-".join(v3)
    print(x2)
    
    #输出结果:报错!!!!
    v3=('sdfs','dasd')
    x3="-".join(v3)
    print(x3)
    
    #输出结果:sdfs-dasd

     3.补充:extend的用法

    v=['sfsfs','adasxds']
    v.extend('sfsfs')
    print(v)
    
    #输出结果:
    #['sfsfs', 'adasxds', 's', 'f', 's', 'f', 's']
    v=['sfsfs','adasxds']
    v.extend(['fsfs',123])
    print(v)
    
    #输出结果:
    #['sfsfs', 'adasxds', 'fsfs', 123]
    v=['sfsfs','adasxds']
    v.extend((111,222,'fsggssfssss',))
    print(v)
    
    #输出结果:
    #['sfsfs', 'adasxds', 111, 222, 'fsggssfssss']

    上述可知:元组,列表是可迭代对象。

    小练习:对于v=('sfsrf',222,[(33,22)],'sdsfdf')。

    (1)试获取:v=('sfsrf',222,[(33,22)],'sdsfdf')中的33

    答案:

    v=('sfsrf',222,[(33,22)],'sdsfdf')
    x=v[2][0][0]
    print(x)

    (2)尝试对于它将[(33,22)]修改为[(33,22,55)]

    思路:元组 的一级元素不可修改,即'sfsrf','222','sdsfdf'均不可修改,而[(33,22)]是列表,因为列表是可以对其中的元素进行修改的。也就是说。可以将(33,22)进行修改。

    因此:

    v=('sfsrf',222,[(33,22)],'sdsfdf')
    x=v[2][0]=267
    print(v)
    
    #输出结果:
    #('sfsrf', 222, [267], 'sdsfdf')
    #而如果是v[2]=267则会报错!

     二、字典

    例:

     1 info={
     2     'k1':18,
     3     'k2':True,
     4     'k3':[
     5         11,
     6         22,
     7         33,
     8         {
     9             'kk1':'vv1',
    10             'kk2':'vv2',
    11             'kk3':(11,22)
    12         }
    13     ],
    14     'k4':(11,22,33,44)
    15 }
    16 print(info)
    17 
    18 #输出结果:{'k4': (11, 22, 33, 44), 'k3': [11, 22, 33, {'kk3': (11, 22), 'kk2': 'vv2', 'kk1': 'vv1'}], 'k2': True, 'k1': 18}——顺序是反的!!
    19 #  v(键值对的“值”)可以是任意数据类型!
     v(键值对的“值”)可以是任意数据类型!
    info={
        1:'fsdfs',
        'sfg':'dfd',
        # [123,222]:'fg',
        True:'DFG',
        (123,456):'dafds'
      
    }
    
    print(info)
    
    #输出结果:{(123, 456): 'dafds', 1: 'DFG', 'sfg': 'dfd'}而且再次单击播放按钮还会变换顺序,所以——字典的顺序是不定的!!!!!
     
     k(键值对的“键”)可以是非列表,字典的任意数据类型!
    注意:上面的例子里面,因为TURE=1,而字典里面不允许有重复的值,所以TURE没有显示出来!

    例:对于下列字典:
     1 info={
     2     'k1':18,
     3     'k2':True,
     4     'k3':[
     5         11,
     6         22,
     7         33,
     8         {
     9             'kk1':'vv1',
    10             'kk2':'vv2',
    11             'kk3':(11,22)
    12         }
    13     ],
    14     'k4':(11,22,33,44)
    15 }
    (1)找到其中标绿的11
    答案:
    v = info['k3'][3]['kk3'][0]
    (2)删掉标橙色的内容
    答案:del info['k3'][3]['kk1']在删除字典的键值对的时候,可以用k代表v

    (3)将上述的字典的所有键鼠对一一列出:
    答案:
    法一:
    for item in info.keys():
    # print(item)
    print(item,info[item])
    法二:
    for k,v in info.items():
    print(k,v)


    
    
     
  • 相关阅读:
    怎样解决Script error报错问题
    怎样监听页面加载完成事件
    怎样推迟某个函数的执行
    怎样获取网页加载到现在的时间
    怎样获取用户当前选中的文本
    怎样调出打印界面
    怎样取余或取整
    怎样让元素节点滚动到特定位置
    怎样将页面滚动至特定位置
    怎样移动浏览器窗口位置
  • 原文地址:https://www.cnblogs.com/lijialun/p/10090491.html
Copyright © 2011-2022 走看看