美文网首页
Python在元素级别上对列表进行操作

Python在元素级别上对列表进行操作

作者: 王叽叽的小心情 | 来源:发表于2020-03-08 17:43 被阅读0次

一、方法

  1. 采用列表推导式
  2. 采用map函数+lambda函数
a = [1, 2, 3, 4, 5]

# 列表推导式
a_2 = [ k **2 for k in a]
a_2
Out[151]: [1, 4, 9, 16, 25]

# lambda函数
a_3 = list(map(lambda x: x**2, a))
a_3
Out[153]: [1, 4, 9, 16, 25]

二、应用

对列表数据进行最大/最小归一化或者是z-score标准化

import numpy as np
a = [1, 2, 3, 4, 5]

a_2 = [ ( k - np.min(a) ) / ( np.max(a) - np.min(a)) for k in a]
a_2
Out[156]: [0.0, 0.25, 0.5, 0.75, 1.0]

a_3 = list(map(lambda x:(x-np.min(a))/(np.max(a)-np.min(a)), a))
a_3
Out[167]: [0.0, 0.25, 0.5, 0.75, 1.0]

三、效率对比

采用%timeit计算对一条语句运行多次的平均时间

#列表数据量较小时
a = [1,2,3,4,5]

%timeit a_2 = [ (k-np.min(a))/(np.max(a)-np.min(a)) for k in a]
105 µs ± 7.23 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

%timeit a_3 = list(map(lambda x:(x-np.min(a))/(np.max(a)-np.min(a)), a))
101 µs ± 4.34 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

#列表数据量较大时
a = [i for i in range(10000)]

%timeit a_2 = [ (k-np.min(a))/(np.max(a)-np.min(a)) for k in a]
19.7 s ± 176 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%timeit a_3 = list(map(lambda x:(x-np.min(a))/(np.max(a)-np.min(a)), a))
20 s ± 170 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

结语:看来两个方法实力相当,看个人偏好选择列表推导式或者是map函数+lambda函数吧。

相关文章

  • Python在元素级别上对列表进行操作

    一、方法 采用列表推导式 采用map函数+lambda函数 二、应用 对列表数据进行最大/最小归一化或者是z-sc...

  • Python基础(6) - 打乱列表顺序的操作

    手工打乱列表元素的顺序 编写函数(不使用Python模块的函数),打乱列表元素的顺序 如何对列表元素进行随机排列 ...

  • python之对list的操作

    在python中,内置函数对list的操作。 1,【len()】返回列表的元素数数值,共包含几个元素。(这个函数在...

  • 3.列表

    python - 列表 1.列表基本操作 创建列表 向列表添加元素append( ) 方法添加单个元素。exten...

  • python查找列表元素index()方法和count()方法

    在列表操作中查找列表元素用的比较多,python列表(list)提供了 index() 和 count() 方法,...

  • apply 函数族

    apply(对矩阵、数据框和数组进行行列的操作) lapply(作用于列表和数据框,对列表中的每个元素进行循环操作...

  • Python学习——列表简介

    Python学习——列表操作 列表: 列表内的元素可以通过索引来操作和使用 列表的修改、添加、删除: 修改: 添加...

  • python 面试(2)

    1.请尽可能列举python列表的成员方法,并给出一下列表操作的答案 一行代码实现对列表a中的偶数位置的元素进行加...

  • python+AI第三课

    列表 列表是python中内置有序可变序列,所有元素放在[ ]中,每个元素使用逗号隔开 创建列表 列表的添加操作使...

  • Python列表生成式

    Python列表生成式 python里面[]表示一个列表,对容器类型的数据进行运算和操作,生成新的列表最高效、快速...

网友评论

      本文标题:Python在元素级别上对列表进行操作

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