之前如果想使用flatten,一般借助于numpy.ndarray.flatten。

但是 flatten只能适用于numpy对象,即array或者mat,普通的list列表不适用。

最近找到一个轻便的办法如下:

from itertools import chain

# flatten
print(list(set(chain.from_iterable(["aaa", "bbb", ["c","d", "e"]])))) # 输出['b', 'd', 'c', 'a', 'e']

如果不想去重,则类似思路也可以将嵌套列表转换成单一列表:

print(list(chain.from_iterable([[1, 3], [4, 4], [5,8,7]])))

# 输出[1, 3, 4, 4, 5, 8, 7]

[记录点滴] 一个Python中实现flatten的方法的更多相关文章

  1. PySpark 的背后原理--在Driver端,通过Py4j实现在Python中调用Java的方法.pyspark.executor 端一个Executor上同时运行多少个Task,就会有多少个对应的pyspark.worker进程。

    PySpark 的背后原理 Spark主要是由Scala语言开发,为了方便和其他系统集成而不引入scala相关依赖,部分实现使用Java语言开发,例如External Shuffle Service等 ...

  2. 【转】关于python中re模块split方法的使用

    注:最近在研究文本处理,需要用到正则切割文本,所以收索到了这篇文章,很有用,谢谢原作者. 原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于 ...

  3. python中List的sort方法的用法

    python列表排序 简单记一下python中List的sort方法(或者sorted内建函数)的用法. 关键字: python列表排序 python字典排序 sorted List的元素可以是各种东 ...

  4. 【转】python中List的sort方法(或者sorted内建函数)的用法

    原始出处:http://gaopenghigh.iteye.com/blog/1483864 python列表排序 简单记一下python中List的sort方法(或者sorted内建函数)的用法. ...

  5. python中requests库使用方法详解

    目录 python中requests库使用方法详解 官方文档 什么是Requests 安装Requests库 基本的GET请求 带参数的GET请求 解析json 添加headers 基本POST请求 ...

  6. 全面了解python中的类,对象,方法,属性

    全面了解python中的类,对象,方法,属性 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...

  7. 一个div在另一个div中水平垂直的方法

    html <div id="main"> <div id="box"> 一个div在另一个div中垂直居中实现方法 </div&g ...

  8. 查看python中模块的所有方法

    查看python中模块的所有方法     安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...

  9. JavaScript确定一个字符串是否包含在另一个字符串中的四种方法

    一.indexOf() 1.定义 indexOf()方法返回String对象第一次出现指定字符串的索引,若未找到指定值,返回-1.(数组同一个概念) 2.语法 str.indexOf(searchVa ...

  10. python中列表元素连接方法join用法实例

    python中列表元素连接方法join用法实例 这篇文章主要介绍了python中列表元素连接方法join用法,实例分析了Python中join方法的使用技巧,非常具有实用价值,分享给大家供大家参考. ...

随机推荐

  1. Kafka 1.1.1 源码编译

    下载源码 git clone -b 1.1.1 https://github.com/apache/kafka.git --depth=1   使用这样的方式下载主要是解决两个问题:其一,下载指定分支 ...

  2. 设计模式【3.2】-- JDK动态代理源码分析有多香?

    前面文章有说到代理模式:http://aphysia.cn/archives/dynamicagentdesignpattern 那么回顾一下,代理模式怎么来的?假设有个需求: 在系统中所有的 con ...

  3. Nuxt.js 应用中的 error 事件钩子

    title: Nuxt.js 应用中的 error 事件钩子 date: 2024/12/3 updated: 2024/12/3 author: cmdragon excerpt: 在任何 Web ...

  4. HarmonyOS Next 入门实战 - 导航框架:页面路由、组件导航(Navigation)

    页面路由 官方不推荐使用页面路由,这里仅做简单介绍. 页面路由用于标识 @Entry 注解的页面间的跳转. 包引入 import { router } from'@kit.ArkUI'; 页面跳转 r ...

  5. element-ui季度选择组件

    1.基于elementui开发的季度选择组件 2.调用 <el-quarter-picker v-model="start_time" :size="size&qu ...

  6. Trino 436 - 使用教程(亲测,详细)

    第一章 Trino简介 1. Trino概述 Trino是一个分布式SQL查询引擎,旨在查询分布在一个或多个异构数据源上的大型数据集.如果使用的是数TB或数PB的数据,那么很可能使用的是与Hadoop ...

  7. YashanDB V23.3重磅发布,持续深化1:1替代产品力

    11月14日,YashanDB在"2024国产数据库创新生态大会"上正式发布YashanDB V23.3版本,定位为面向企业核心的通用数据库,具备1:1替代Oracle的能力. 当 ...

  8. Zoom

    1.zoom to layer ILayer layer = (ILayer)m_mapControl.CustomProperty; m_mapControl.Extent = layer.Area ...

  9. 修改QScrollArea背景色透明,且不影响子控件,在Edit Style Sheet中修改

    在QScrollArea或者父控件中设置: QScrollArea{ background-color:transparent; } 在scrollAreaWidgetContents控件或者父控件中 ...

  10. 使用TOPIAM 轻松搞定「Wiki.js」单点登录

    本文将介绍 TOPIAM 与 Wiki 集成步骤详细指南. 应用简介 Wiki.js 是一款高度可定制且现代化的开源 Wiki 系统,专为团队知识管理和文档协作设计,具有强大的扩展性和跨平台支持能力. ...