当前位置: 首页 > news >正文

python拆分参数列表_Python:使用itertools将列表拆分为组的参数

这是一个关于使用标准库的快速代码的相对优点的问题,它使用的是标准库,但与手工编写的替代程序相比,它是模糊的(至少对我来说是这样)。在这个thread(以及它复制的其他函数)中,将列表拆分为组的“Pythonic”方法似乎是使用itertools,如下面代码示例中的第一个函数(对ΤΖΩΤΖΙΟΥ稍作修改)。在

我喜欢第二个函数的原因是我能理解它的工作原理,如果我不需要填充(比如把DNA序列转换成密码子),我可以在瞬间从记忆中复制它。在

使用itertools的速度更好。特别是如果我们不想返回一个列表,或者我们想填充最后一个条目,itertools会更快。在

还有哪些支持标准库解决方案的论据?在from itertools import izip_longest

def groupby_itertools(iterable, n=3, padvalue='x'):

"groupby_itertools('abcde', 3, 'x') --> ('a','b','c'), ('d','e','x')"

return izip_longest(*[iter(iterable)]*n, fillvalue=padvalue)

def groupby_my(L, n=3, pad=None):

"groupby_my(list('abcde'), n=3, pad='x') --> [['a','b','c'], ['d','e','x']]"

R = xrange(0,len(L),n)

rL = [L[i:i+n] for i in R]

if pad:

last = rL[-1]

x = n - len(last)

if isinstance(last,list):

rL[-1].extend([pad] * x)

elif isinstance(last,str):

rL[-1] += pad * x

return rL

时间安排:

^{pr2}$

编辑:我会在这里更改函数名(见Alex的答案),但是有太多的函数名我决定发布这个警告。在

相关文章:

  • python语言哪种最好_学习Python语言选择哪种方式好?
  • rc时间常数定义_时间常数RC的计算方法
  • mysql 进行数据维护_MySQL从库维护经验分享
  • jsp mysql 导出 excel乱码_jsp存取mysql中文数据结果为乱码的解决方法(转自自己以前的blog)...
  • python面向对象基础知识_python面向对象的基础知识
  • mysql递归查询及节点层级_Mysql中的递归层次查询(父节点下的所有节点)
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • datax把text转mysql_使用DataX实现mysql数据迁移
  • haccp体系的参照标准是_食品安全标准与ISO、GMP、HACCP等体系之间的相互关系
  • mac mysql 多实例_Mac上mysql多端口实例配置并设置开机自动启动
  • mysql 主要有哪些函数_mysql中有哪些函数
  • mysql索引失效解决6_简单介绍MySQL索引失效的几种情况
  • java 获取方法的参数_Java 8中如何获取参数名称的方法示例
  • java gui程序运行_13.JAVA之GUI编程将程序打包jar
  • java输入输出学生成绩_java从键盘输入学生成绩,找出最高分,并输出学生成绩等级。...
  • Django 博客开发教程 8 - 博客文章详情页
  • gulp 教程
  • JavaScript设计模式之工厂模式
  • java小心机(3)| 浅析finalize()
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • leetcode386. Lexicographical Numbers
  • miaov-React 最佳入门
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • React as a UI Runtime(五、列表)
  • Vue组件定义
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 动态魔术使用DBMS_SQL
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 深入浏览器事件循环的本质
  • 函数计算新功能-----支持C#函数
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #{} 和 ${}区别
  • #if #elif #endif
  • (1)bark-ml
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (二十四)Flask之flask-session组件
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (一一四)第九章编程练习
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .net网站发布-允许更新此预编译站点
  • .NET项目中存在多个web.config文件时的加载顺序
  • .NET与 java通用的3DES加密解密方法
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • @RequestMapping用法详解
  • @SentinelResource详解
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [Android View] 可绘制形状 (Shape Xml)
  • [Assignment] C++1