美文网首页
5-7 列表,字典集合推导式

5-7 列表,字典集合推导式

作者: 正在努力ing | 来源:发表于2018-08-26 15:51 被阅读0次

    列表推导式用途

    1 生成一个列表
    2 借助函数完成复杂逻辑运算

    odd_list = [i for i in range(34) if i%2==1]
    print(odd_list)
    
    [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33]
    
    #2 借助函数完成复杂逻辑运算
    def double(it):
        return it*it
    
    double_odd_list = [double(i) for i in range(34) if i%2 == 1]
    print(double_odd_list)
    
    [1, 9, 25, 49, 81, 121, 169, 225, 289, 361, 441, 529, 625, 729, 841, 961, 1089]
    

    生成器

    生成器是用推导式生成一个可以迭代的对象
    生成器是可以转化为一个list的

    odd_gen = (i for i in range(34) if i%2==1)
    
    for i in odd_gen:
        print(i)
    print("生成器打印出元素之后,转成列表")
    odd_gen_list = list(odd_gen)
    print(odd_gen_list)
    
    1
    3
    5
    7
    9
    11
    13
    15
    17
    19
    21
    23
    25
    27
    29
    31
    33
    生成器打印出元素之后,转成列表
    []
    

    生成器只有一个;把它变成列表或者迭代之后,生成器就是空的了

    #字典推导式
    my_dict = {"a":22,"b":33,"c":44}
    dict_list = {value:key for key,value in my_dict.items()}
    print(dict_list)
    
    {33: 'b', 44: 'c', 22: 'a'}
    
    #集合推导式
    set_list = {key for key,value in my_dict.items()}
    print(set_list)
    
    {'c', 'b', 'a'}
    
    
    

    相关文章

      网友评论

          本文标题:5-7 列表,字典集合推导式

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