美文网首页
python 例题

python 例题

作者: 心疼你萌萌哒 | 来源:发表于2018-06-07 10:40 被阅读0次

    元组 将字符串转化成元组

    # s = "car"
    # s1 = tuple(s)
    # print(type(s1))
    #result :
    #tuple
    

    人不变心变 就是元组里的列表ID不变 元组大框里面的ID变

    # l1 = [1, 2, 3, ['a', 'v']]
    # l2 = tuple(l1)
    # l2[3][1] = 'o'
    # print (l2)
    # print(id(l2[3]))
    # print(id(l1[3]))
    #
    # print(id(l2))
    # print(id(l1))
    #  result:
    # 140104303701640
    # 140104303701640
    # 140104303350712
    # 140104302816712
    

    多变量一起赋值 并交换值 (注意赋值的时候看右边的)

    a,b = 1,2
    a,b = b,a
    print(a)
    print(b)
    #result
    2
    1
    
    # a = [('a','1'),('b','2')]
    # b = ['a1','b2']
    # a1 = dict(a)
    # b2 = dict(b)
    # print(a1)
    # print(b2)
    #
    # print(a1 == b2)
    # print(a1 is b2)
    # result:
    # {'a': '1', 'b': '2'}
    # {'a': '1', 'b': '2'}
    # True
    # False
    

    并行迭代 如果列表长度不一样选最短的

    # for i,x in zip (['a','b'],[1,2]):
    #     print(i,'---',x)
    # result:
    # a --- 1
    # b --- 2
    for i,x in zip (['a','b','c'],[1,2]):
        print(i,'---',x)
    # result:
    # a --- 1
    # b --- 2
    

    两个列表-》迭代-》列表-》字典

    a = ['xingqiyi','xingqier']
    b = ['1','2']
    print (zip(a,b))
    c = list(zip(a,b))
    print(c)
    d = dict(c)
    print (d)
    
    result:
    <zip object at 0x7fb35825dac8>
    [('xingqiyi', '1'), ('xingqier', '2')]
    {'xingqiyi': '1', 'xingqier': '2'}
    

    判断对象是否能hash 列表不能hash

    # print(hash(1))
    # print(hash('asdf'))
    # print(hash((1,2)))
    # print(hash([1,3]))
    # 
    # result:
    # 1
    # -96696562774008768
    # 3713081631934410656
    # TypeError: unhashable type: 'list'
    

    get方法

    info_dict = {"name":"xiaoguo","age": "18"}
    1.####na = info_dict["name"]
    # print(na)
    # result :
    # xiaoguo
    
    2.####age = info_dict.get('aaa','gg')
    # print (age)
    # age1 = info_dict.get('age')
    # print (age1)
    # result:
    # gg
    # 18
    
    3.
    info_dict = {"name":"xiaoguo","age": "18"}
    keys = info_dict.keys()   或 values= info_dict.values()
    print (keys)                               print(list(values))
    print (list(keys))
    result:
    dict_keys(['name', 'age'])
    ['name', 'age']
    4.
    info_dict = {"name":"xiaoguo","age": "18"}
    items = info_dict.items()
    print(list(items))
    result:
    [('name', 'xiaoguo'), ('age', '18')]
    5.
    info_dict = {"name":"xiaoguo","age": "18"}
    
    for key in info_dict.keys():
        print(key)
    
    for value in info_dict.values():
        print(value)
    # result:
    # name
    # age
    #
    # xiaoguo
    # 18
    for key,value in info_dict.items():
        print(key,'---',value)
    # result:
    # name --- xiaoguo
    # age --- 18
    

    定义一个字典 并将info_dict的字典加入到新的字典里 ( 定义新字典的方式:d = {} 往字典里添加元素d['a'] =1 d[''b]=2)

    info_dict = {"name":"xiaoguo","age": "18"}
    info_new_dict = {}
    for key,val in info_dict.items():
        print (key,'--',val)
        info_new_dict[key]=val
        print(info_new_dict)
    result:
    name -- xiaoguo
    {'name': 'xiaoguo'}
    age -- 18
    {'name': 'xiaoguo', 'age': '18'}
    

    setdefault的应用 列表有append的方法

    data=[('animal','xiaoguo'),('zhiwu','hua')]
    dice={}
    for (key,val) in data:
        dice.setdefault(key,[]).append(val)
        print(dice)
    {'animal': ['xiaoguo']}
    {'animal': ['xiaoguo'], 'zhiwu': ['hua']}
    
    from collections import defaultdict                                      
    data=[('animal','xiaoguo'),('zhiwu','hua')]                              
    dd=defaultdict(list)                                                     
    print(dd)                                                                
    for (key, value) in data:                                                
        print(dd[key])                                                       
        dd[key].append(value)                                                
        print(dd)                                                            
       result:                                                               
     defaultdict(<class 'list'>, {})                                         
     []                                                                      
     defaultdict(<class 'list'>, {'animal': ['xiaoguo']})                    
     []                                                                      
     defaultdict(<class 'list'>, {'animal': ['xiaoguo'], 'zhiwu': ['hua']})  
    

    高效设置set集合和转换

    s1 = set()
    print(s1) 
    result:
    set()
    添加元素
    In [11]: s2 = {12,3,4,5,6,}
    
    In [12]: s2.add('n')
    
    In [13]: s2
    Out[13]: {12, 3, 4, 5, 6, 'n'}
    删除元素In 
    [15]: s2.remove('n')
    In [16]: s2
    Out[16]: {4, 5, 6, 12}
    随机删一个In 
    [14]: s2.pop()
    Out[14]: 3
    

    多级菜单 enumerate

    data=[['zhujiinfo','func','aaa'],['mem','func','bbb']]
    dic={}
    for (i,items) in enumerate(data,1):
        print(i,items)
        dic.update({i:{'title':items[0],'func':items[1],'next_menu':items[2]}})
    print(dic)
    print(dic.get(1).get('func'))
    result:
    1 ['zhujiinfo', 'func', 'aaa']
    2 ['mem', 'func', 'bbb']
    {1: {'title': 'zhujiinfo', 'func': 'func', 'next_menu': 'aaa'}, 2: {'title': 'mem', 'func': 'func', 'next_menu': 'bbb'}}
    func
    

    动态参数 *args

    #position args
    # def xiaoguo(*a):
    #
    #     print(a)
    #
    # li = [1,2,3,4]
    # xiaoguo(li)
    # xiaoguo(*li)
    result:
    ([1, 2, 3, 4],)
    (1, 2, 3, 4)
    

    #关键字弄成字典

    # def print_keyargs(**kwargs):
    #     print(kwargs)
    # print_keyargs(ip=22,host_name='dbserver2')
    result :
    {'ip': 22, 'host_name': 'dbserver2'}
    

    注释 x=a 上方'''回车

    # def foo(a,b):
    #     '''
    #     :param a:
    #     :param b:
    #     :return:
    #     '''
    #     x=a
    
    # for i in range(10):
    #     if i < 3:
    #         inp = int(input("请输入数字>>:").strip())
    #         if inp == 18:
    #             print("你赢了")
    #             break
    #         elif inp > 18:
    #             print("高了")
    #         else:
    #             print("低了")
    #     else:
    # #       inp1 = int(input("是否继续(Y/N)").strip())
    #         inp1 = input("是否继续(Y/N)").strip()
    #         if inp1 == 'Y':
    #             for a in range(10):
    #                 if a < 3:
    #                     inp2 = int(input("请继续输入>>:").strip())
    #                     if inp2 == 18:
    #                         print("你赢了")
    #                         break
    #                     elif inp2 > 18:
    #                         print("高了")
    #                     else:
    #                         print("低了")
    #         if inp1 == 'N':
    #             print("Game over")
    #             break
    
    

    sys模块:用于提供对python解释权的系统环境相关操作

    import subprocess
    # ret = subprocess.getoutput('ls /')
    # print(ret.split('\n')[1:])
    # result:['boot', 'dev', 'dirname', 'etc', 'home', 'lib', 'lib64', 'media', 'mnt', 'opt', 'proc', 'root', 'run', 'sbin', 'srv', 'sys', 'tmp', 'usr', 'var']
    
    # print(subprocess.getstatusoutput('date'))
    #======================================================
    import subprocess
    status,ret = subprocess.getstatusoutput('date')
    print(type(status))
    if not status:
        print(ret)
    #result:
    # <class 'int'>
    # Mon Jun 11 17:42:45 CST 2018
    

    匿名函数

    print((lambda x,y: x if x> y else y)(101,102))
    
    

    相关文章

      网友评论

          本文标题:python 例题

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