Python推导式数据处理方式

目录
  • 前言
  • 1、列表推导式
  • 2、元组推导式
  • 3、集合推导式
  • 4、字典推导式

前言

推导式是一种独特的数据处理方式,可以快速的从一个数据序列构建另一个新的数据序列的结构体。常用的推导式有一下四种:

  • 列表推导式
  • 元组推导式
  • 集合推导式
  • 字典推导式

1、列表推导式

# coding:utf-8
# Author:Yang Xiaopeng

"""
语法格式
[表达式 for 变量 in 变量]
[表达式 for 变量 in 变量 if 条件表达式]
上述格式中 的 表达式中的变量与for变量一致
"""
old_list = [1, 2, 3, 4, 5]
new_list = [new_list * new_list for new_list in old_list] # yes [1, 4, 9, 16, 25]
# new_list = [new_list1 * new_list for new_list in old_list] # NameError: name 'new_list1' is not defined
# new_list = [new_list * new_list for new_list2 in old_list] # NameError: name 'new_list' is not defined
old_list = [old_list * old_list for old_list in old_list] # yes [1, 4, 9, 16, 25]
print(old_list)
print(new_list)
new_list = [old_list for old_list in old_list if old_list%2 == 1] # yes [1, 9, 25]
print(new_list)

2、元组推导式

# coding:utf-8
# Author:Yang Xiaopeng

"""
语法格式
(表达式 for 变量 in 变量)
(表达式 for 变量 in 变量 if 条件表达式)
上述格式中 的 表达式中的变量与for变量一致
"""
old_list = (1, 2, 3, 4, 5)
new_list = (new_list * new_list for new_list in old_list) # yes 1_4_9_16_25_
# new_list = [new_list1 * new_list for new_list in old_list] # NameError: name 'new_list1' is not defined
# new_list = [new_list * new_list for new_list2 in old_list] # NameError: name 'new_list' is not defined
old_list = (old_list * old_list for old_list in old_list) # yes 1_4_9_16_25_
for item in new_list:
print(item, end="_")
print("")
for item in old_list:
print(item, end="_")
print("")

3、集合推导式

# coding:utf-8
# Time:2022/6/28 20:57
# Author:Yang Xiaopeng
"""
语法格式
{表达式 for 变量 in 变量}
{表达式 for 变量 in 变量 if 条件表达式}
上述格式中 的 表达式中的变量与for变量一致
"""
old_list = {1, 2, 3, 4, 5}
new_list = {new_list * new_list for new_list in old_list} # yes {1, 4, 9, 16, 25}
# new_list = {new_list1 * new_list for new_list in old_list} # NameError: name 'new_list1' is not defined
# new_list = {new_list * new_list for new_list2 in old_list} # NameError: name 'new_list' is not defined
old_list = {old_list * old_list for old_list in old_list} # yes {1, 4, 9, 16, 25}
print(old_list)
print(new_list)
new_list = {old_list for old_list in old_list if old_list % 2 == 1} # yes {1, 9, 25}
print(new_list)

4、字典推导式

# coding:utf-8
# Author:Yang Xiaopeng
"""
语法格式
{key : value for key in 变量}
{key : value for key in 变量 if 表达式}
"""
old_dict = ["Zhang", "Wang", "Yang", "Jim"]
new_dict = {key:len(key) for key in old_dict} # yes {1, 4, 9, 16, 25}
print(old_dict)
print(new_dict)
new_dict = {lll:len(lll) for lll in old_dict if len(lll) % 2 == 0} # yes {1, 9, 25}
print(new_dict)

到此这篇关于Python推导式数据处理方式的文章就介绍到这了,更多相关Python推导式内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python列表推导式 经典代码

    目录 一.什么是推导式 二.条件推导式 1.语法 2.实战练习 三.列表推导式 1.语法 2.实战练习 3.效率对比 四.重点总结 在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把自己代码写的更美观,效率更高. 一.什么是推导式 推导式是从一个或者多个迭代器快速简洁地创建数据类型的一种方法,它将循环和条件判断结合,从而避免语法冗长的代码,提高代码运行效率.能熟练使用推导式也可以间接说明你已经超越了python初学者的水平. 二.条件推导式 1.语法 ''' value1:如

  • Python推导式使用详情

    目录 推导式 什么是推导式 基本语法 其它使用方法 列表推导式练习题 集合推导式 字典推导式 字典推导式常用以配合的函数 enumerate zip 优先使用推导式 推导式 什么是推导式 推导式是 for 循环的简化使用方法,使用推导式,将一个可迭代对象中的数据遍历到某一个容器当中.简单的来说就是用一行for循环语句,遍历一个可迭代对象中的所有数据,然后将遍历出来的数据进行处理放入对应的容器中的一个过程和方式. 和推导类似作用的还有三元运算符,三元运算符是条件判断语句的简化使用方法. 语法: v

  • Python 列表推导式与字典推导式的实现

    目录 列表推导式 for 循环写法 列表推导式写法 列表推导式还支持嵌套 字典推导式 元组推导式与集合推导式 总结 在 Python 中推导式是一种非常 Pythonic 的知识,本篇博客将为你详细解答列表推导式与字典推导式相关的技术知识. 列表推导式 列表推导式可以利用列表,元组,字典,集合等数据类型,快速的生成一个特定需要的列表. 语法格式如下: [表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]] if 条件表达式 非必选,学完列表推导式之后,你可以发现它就是 for 循环

  • python列表推导式实现找出列表中长度大于5的名字

    目录 列表推导式找出列表中长度大于5的名字 任务 我的笨办法 python列表推导式 例如 列表推导式找出列表中长度大于5的名字 任务 给定一个列表,使用列表推导式找出列表中长度大于5的名字,并打印该列表 names = [[‘Tom’, ‘Billy’, ‘Jefferson’, ‘Andrew’, ‘Wesley’, ‘Steven’, ‘Joe’],[‘Alice’, ‘Jill’, ‘Ana’, ‘Wendy’, ‘Jennifer’, ‘Sherry’, ‘Eva’]] 我的笨办法 刚

  • python列表推导式的原理及使用方法

    偶尔会在python中看见这样一行代码: data = [x**2 for x in range(0, 5)] # 此时data = [0, 1, 4, 9, 16] 如果不知道背后的语法规则,那么很难理解为什么可以在列表的方括号中写一个“for”循环?实际上,这种语法称为列表推导式,和lambda表达式类似,都是在代码很短的情况下被使用. 本文将从两个方面讲解列表推导式: (1)什么是列表推导式 (2)如何使用列表推导式 1.什么是列表推导式? 列表推导式对应的英文是list comprehe

  • Python列表推导式详情

    目录 1.列表生成式 1.1 案例 2.集合生成式 3.字典生成式 1.列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 语法结构如下: # 普通的生成式 [表达式 for 变量 in 旧列表] # 加条件的生成式 [表达式 for 变量 in 旧列表 if 条件] # if...else条件的生成式 [表达式 if 条件1 else 条件2for 变量 in 旧列表] 1.1 案例 过滤掉名词字母不足4的名字,示

  • Python推导式数据处理方式

    目录 前言 1.列表推导式 2.元组推导式 3.集合推导式 4.字典推导式 前言 推导式是一种独特的数据处理方式,可以快速的从一个数据序列构建另一个新的数据序列的结构体.常用的推导式有一下四种: 列表推导式 元组推导式 集合推导式 字典推导式 1.列表推导式 # coding:utf-8 # Author:Yang Xiaopeng """ 语法格式 [表达式 for 变量 in 变量] [表达式 for 变量 in 变量 if 条件表达式] 上述格式中 的 表达式中的变量与

  • python推导式的使用方法实例

    前言 推导式提供了更简洁高效的方法来生成序列而又不失代码的可读性. 定义: 推导式是 Python 里很有用的一个特性,它可以用一行代码就可以创建一个新的序列(比如:列表,集合,字典等等).通过这个性能,不仅可以少写很多代码,而且性能上也更快. Python 里有四种推导式: 列表推导式(List Comprehensions) 字典推导式(Dictionary Comprehensions) 集合推导式(Set Comprehensions) 生成器推导式(Generator Comprehe

  • Python推导式简单示例【列表推导式、字典推导式与集合推导式】

    本文实例讲述了Python推导式.分享给大家供大家参考,具体如下: 1. 列表推导式 >>> li = [1,2,3,4,5,6] # 求元素的平方 >>> li_a = [x**2 for x in li ] >>> li_a [1, 4, 9, 16, 25, 36] # 提取偶数值 >>> li_b = [x for x in li if x%2==0] >>> li_b [2, 4, 6] # 将多维数组转换

  • Python 推导式、生成器与切片问题解决思路

    推导式.生成器与切片 一.实验要求 1.理解并掌握序列中的常用操作.2.理解并掌握推导式.切片等用法并能解决实际问题. 二.实验内容 1,编写程序,测试字符的出现频率. #use dict method1 data = ['a','2',2,3,6,'2','b',4,7,2,'6','d',6,'a','z'] frequences=dict() for item in data: if item in frequences: frequences[item] += 1 else: frequ

  • Python简洁优雅的推导式示例详解

    前言 推导式是从一个或者多个迭代器快速创建序列的一种方法.它可以将循环和条件判断结合,从而避免冗长的代码.推导式是典型的 Python 风格 Python语言有一种独特的推导式语法,相当于语法糖的存在,可以帮助你在某些场合写出较为精简酷炫的代码.但没有它,也不会有太多影响.Python语言有几种不同类型的推导式. 1. 列表推导式 列表推导式是一种快速生成列表的方式.其形式是用方括号括起来的一段语句,如下例子所示: lis = [x * x for x in range(1, 10)] prin

  • python生成器推导式用法简单示例

    本文实例讲述了python生成器推导式用法.分享给大家供大家参考,具体如下: 1.生成器推导式是继列表推导式后的有一中python推导式,他比列表推导式速度更快,占用的内存也更少. 2.使用生成器对象时,可以根据需要将他转化为列表或者元组,也可以是哟个生成器对像__next__()方法或内置函数next()进行遍历,其具有惰性求值的特点,进行一次遍历后便不能再次方位内部元素,即访问一次立马清空生成器对象 >>> g = ((i+2)**2 for i in range(10)) >

  • python 特有语法推导式的基本使用

    目录 列表推导式 字典推导式 集合推导式 共有三种推导式 列表(list)推导式 字典(dict)推导式 集合(set)推导式 列表推导式 基本语法: [out_express for out_express in input_list] 举个栗子 生成一个[0,1,4,9,16]的列表 在未学习推导式之前,我们可以这样实现 li = [] for i in range(5): # 循环5次取值 res_i = i * i # 进行每次取值的处理 li.append(res_i) # 将处理的值

  • Python列表推导式,元组推导式,字典推导式,集合推导式

    目录 1 介绍 2 列表推导式 3 元组推导式 4 字典推导式 5 集合推导式 1 介绍 推导式(解析器):是Python独有的一种特性.使用推导式可以快速生成列表.元组.字典以及集合类型的数据,因此推导式又可分为列表推导式. 2 列表推导式 格式: 格式1: [表达式 for 变量 in 列表][out_exp_res for out_exp in input_list] 格式2:[表达式 for 变量 in 列表 if 条件][out_exp_res for out_exp in input

  • Python中的推导式使用详解

    推导式是Python中很强大的.很受欢迎的特性,具有语言简洁,速度快等优点.推导式包括: 1.列表推导式 2.字典推导式 3.集合推导式 嵌套列表推导式 NOTE: 字典和集合推导是最近才加入到Python的(Python 2.7 和Python 3.1以上版). 下面简要介绍下: [列表推导式] 列表推导能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形 其基本格式如下: 复制代码 代码如下: [expr for value in collection ifcondi

随机推荐