pyextend库-unpack列表集合字符串解包函数

news/2024/7/6 2:43:27

pyextend - python extend lib

unpack (iterable, count, fill=None)

参数:

iterable: 实现 __iter__的可迭代对象, 如 str, tuple, dict, list

count:    需要拆分的数量, 如数值大于 len(iterable) 则使用 fill 的值进行后续填充

fill:          默认值填充

使用范例:

Example 1:
        In[1]: source = 'abc'
        In[2]: a, b = unpack(source, 2)
        In[3]: print(a, b)
        a b

Example 2:
        In[1]: source = 'abc'
        In[2]: a, b, c, d = unpack(source, 4)
        In[3]: print(a, b, c, d)
        a b None None

 

代码:

@accepts(iterable='__iter__', count=int)
def unpack(iterable, count, fill=None):
    """
    The iter data unpack function.

    """
    iterable = list(enumerate(iterable))
    cnt = count if count <= len(iterable) else len(iterable)
    results = [iterable[i][1] for i in range(cnt)]

    # results[len(results):len(results)] = [fill for i in range(count-cnt)]
    results = merge(results, [fill for i in range(count-cnt)])
    return tuple(results)

 

转载于:https://www.cnblogs.com/Vito2008/p/pyextned-unpack.html


http://www.niftyadmin.cn/n/3863235.html

相关文章

spring Bean使用案例 无参数构造方式

1、导入spring包&#xff08;四个基本核心包&#xff09; 2、在src目录新建xml 3、xml导入schema约束 <beans xmlns"http://www.springframework.org/schema/beans" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo…

[置顶]白话贝叶斯理论及在足球比赛结果预测中的应用和C#实现

离去年“马尔可夫链进行彩票预测”已经一年了&#xff0c;同时我也计划了一个彩票数据框架的搭建&#xff0c;分析和预测的框架&#xff0c;会在今年逐步发表&#xff0c;拟定了一个目录&#xff0c;大家有什么样的意见和和问题&#xff0c;可以看看&#xff0c;留言我会在后面…

spring Bean使用案例 静态方法方式 和工厂模式

参考上一篇文章spring Bean使用案例 无参数构造方式 静态方法 1、新建一个类 package spring_day_1; /** * * author linwen *静态方法创建对象 */ public class TastDome2 { public static TastDome add(){ return new TastDome(); } } 2、编写xml…

sublime开启vim模式

学习目标&#xff1a;在sublime下开启vim模式&#xff0c;了解基本vim的编辑快捷键。 下载安装Sublime Text 3 &#xff1a;http://www.sublimetext.com/3Vim/Vi&#xff1a; Vim/Vi 是一个文本编辑器&#xff0c;没有菜单&#xff0c;只有命令&#xff0c;适合写前端代码。高效…

Spring官方文档翻译(1~6章)

spring官方文档&#xff1a;http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ 一、Spring框架概述 Spring框架是一个轻量级的解决方案&#xff0c;可以一站式地构建企业级应用。Spring是模块化的&#xff0c;所以可以只使用其中需要的部分。…

Spring官方文档翻译(7章)

三、核心技术 这部分的文档覆盖了spring完整的技术。 在这些技术中最重要的要属Spring的控制反转&#xff08;IoC&#xff09;容器了&#xff0c;紧随其后的是全面覆盖的面向切面编程&#xff08;AOP&#xff09;技术。Spring有它自己的AOP框架&#xff0c;它很容易理解&…

spring使用案例 属性注入

构造方法注入 1、新建xml <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation…

Hashtable无序,用Dictionary代替

//输出1234 public void TestDictionary() {Dictionary<string, int> dic new Dictionary<string, int>();dic.Add("One", 1);dic.Add("Two", 2);dic.Add("Three", 3);dic.Add("Four", 4);foreach (var r in dic.Keys) …