• map()&zip()函数引发的案例&常见的python题


    先来看一道题:

    一行代码实现1+2+3+...+100。

    方法一:

    sum(range(1,101))

    输出:5050

    方法二:

    import numpy as np
    np.sum(np.arange(1,101)) #5050

    再来看一道题:

    一行代码实现由[1,2,3,4,5]生成[1,4,9,16,25]。

    方法一:

    list(map(lambda x:x**2,[1,2,3,4,5]))

    输出:[1,4,9,16,25]

    方法二:

    import numpy as np 
    print(list(np.square([1,2,3,4,5]))) #求平方 [1, 4, 9, 16, 25]
    print(list(np.sqrt([1,4,9,16,25]))) #开根号 [1.0, 2.0, 3.0, 4.0, 5.0]
    print([int(i) for i in list(np.sqrt([1,4,9,16,25]))]) #开跟取整 [1, 2, 3, 4, 5]

    把类别变量转换为数字

    import pandas as pd
    data=pd.DataFrame(data={'老师':['','','','',''],
                           '付款':[1,1,1,0,0]},
                     index=['001','002','003','004','005'])
    data['老师']=data['老师'].map({'':1,'':0})
    data        

    输出:

     扩展:

    zip函数

    map函数跟zip函数有时候容易搞混

    zip(iterables,iterables,..) 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组;
     在 Python 3.x 中为了减少内存,zip() 返回的是一个zip对象。如需展示列表,需手动 list() 转换
     
    用列表生成式遍历
    X=['a','b','c','d']
    Y=[1,2,3,4]
    print([i for i in zip(X,Y)])

    输出:[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

    生成可迭代对象和列表
    X=['a','b','c','d']
    Y=[1,2,3,4]
    XY=zip(X,Y)
    print(zip(X,Y))
    print(list(XY))

    输出:

    <zip object at 0x11b799a08>

    [('a', 1), ('b', 2), ('c', 3), ('d', 4)]

    转为字典类型
    dict(zip(X,Y))

    输出:{'a': 1, 'b': 2, 'c': 3, 'd': 4}

    for循环分别遍历相应位置
    X=['a','b','c','d']
    Y=[1,2,3,4]
    for i,j in zip(X,Y):
        print(i,j)

    输出:

     再来一道题:

    输出列表求和[2,22,222,2222,...],列表的几位数由输入决定
    a=int(input("请输入位数,只能输入数字"))
    print("{}位数".format(a))
    list_b=[]
    for i in range(1,a+1):
        b=2
        b=str(b) #转化为字符串
        b=b*i
        list_b.append(b)
    list_b=[int(i) for i in list_b]
    print(list_b)
    print(sum(list_b))

    输入:

    输出:

     

  • 相关阅读:
    C# Process.Start()方法详解 .
    任务管理器
    20160113 js中选择多个check一块删除
    20160113 JS中CheckBox如何控制全选
    20151217JS便签
    20151216Repeater
    20151215单选按钮列表,复选框列表:CheckBoxList
    20151214下拉列表:DropDownList
    !!!SqlHelper 传智!
    !!! SQL 数据库开发基础 传智!
  • 原文地址:https://www.cnblogs.com/lverkou/p/13253625.html
Copyright © 2020-2023  润新知