如何使用python传入不确定个数参数

这篇文章主要介绍了如何使用python传入不确定个数参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Python3自带的一个函数为 zip ,使用方式如下:

In: print zip([1, 2],[3, 4])
Out: [(1, 3), (2, 4)]
In: print zip([1, 2],[3, 4],[5, 6])
Out: [(1, 3, 5), (2, 4, 6)]

但是当我存在一个二维数组:

info = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12],...]

当我不确定 info 的长度的时候,例如 info 的长度可能是 2 也可能是 3 或者更多,那么我怎么将 info 所有的参数传入 zip 呢?

这里涉及到 按位置传递 参数的方法,所以解决的办法为:

zip(*info)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2020-02-15

python函数的万能参数传参详解

我们通过一个简单的事例来展示一下函数的万能参数,我们先写一个最简单的函数 def test(*args,**kwargs): print(args,kwargs) 然后定义两个变量 l = [1,2,3,4] d = {"a":1,"b":2} 下面我们分别看下两种传参的方式有什么不同 第一种方式 test(l,d) 如果是使用上面的方式传参,那么l,d这2个变量都会传递给args这个形参,作为args变量的两个元素,kwargs是一个空的字典,没有任何参数传递一个

python 类之间的参数传递方式

练手记录以及调试步骤. class A(object): def __init__(self,a="A"): print("enter",a) print("leave",a) def mainA(readA,*D): #如果使用实例化B(),调用mainA,D收集进来D多余的参数.(参考第3点说明) print("enter mainA") reaA = "内部添加的" print("leave

使用Python爬虫库requests发送请求、传递URL参数、定制headers

首先我们先引入requests模块 import requests 一.发送请求 r = requests.get('https://api.github.com/events') # GET请求 r = requests.post('http://httpbin.org/post', data = {'key':'value'}) # POST请求 r = requests.put('http://httpbin.org/put', data = {'key':'value'}) # PUT请

Python传递参数的多种方式(小结)

一 位置传递 没什么好过多讲解. # 位置传递实例: def fun1(a,b,c): return a+b+c print(fun1(1,2,3)) 输出: 6 二 关键字传递 更具每个参数的名字写入函数参数 # 关键字传递 def fun2(a,b,c): return a+b+c print(fun2(1,c=3,b=2)) 输出: 6 三 参数默认值传递 给函数的输入参数设定一个默认值,如果该参数最终没有输入,则使用默认参数出入函数. # 默认值传递 def fun3(a,b=2,c=3

Python函数中参数是传递值还是引用详解

在 C/C++ 中,传值和传引用是函数参数传递的两种方式,在Python中参数是如何传递的?回答这个问题前,不如先来看两段代码. 代码段1: def foo(arg): arg = 2 print(arg) a = 1 foo(a) # 输出:2 print(a) # 输出:1 看了代码段1的同学可能会说参数是值传递. 代码段2: def bar(args): args.append(1) b = [] print(b)# 输出:[] print(id(b)) # 输出:4324106952 b

Python3 main函数使用sys.argv传入多个参数的实现

在运维过程中,有些时候需要向main函数中传递参数,以方便运维与测试,那么怎么向main函数中传入多个参数呢,下面以python3中的main函数为例,简单讲一下. 首先我们需要import sys,sys是python3的一个标准库,也就是一个官方的模块.封装了一些系统的信息和接口,然后再说说argv这个变量.「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序.这个变量其实是一个List列表,argv[0] 一般是被调用的脚本文件名或

python 命令行传入参数实现解析

创建 test.py 文件,代码如下: #!/usr/bin/python # -*- coding: gbk -*- import sys print sys.argv if __name__=='__main__': print "Program name", sys.argv[0] for i in range(1, len(sys.argv)): print "arg%d"%i,sys.argv[i] 测试: python test.py 1 2 3 4 5

Python进程,多进程,获取进程id,给子进程传递参数操作示例

本文实例讲述了Python进程,多进程,获取进程id,给子进程传递参数操作.分享给大家供大家参考,具体如下: 线程与线程之间共享全局变量,进程之间不能共享全局变量. 进程与进程相互独立  (可以通过socket套接字实现进程间通信,可以通过硬盘(文件)实现进程通信,也可以通过队列(Queue)实现进程通信) 子进程会拷贝复制主进程中的所有资源(变量.函数定义等),所以子进程比子线程耗费资源. demo.py(多进程): import threading # 线程 import time impo

命令行运行Python脚本时传入参数的三种方式详解

如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式. python script.py 0,1,2 10 python script.py -gpus=0,1,2 --batch-size=10 python script.py -gpus=0,1,2 --batch_size=10 这三种格式对应不同的参数解析方式,分别为sys.argv, argparse, tf.app.run, 前两者是python自带的功能,最后一个是tensorfl

PHP命令行脚本接收传入参数的三种方式

通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务.这就涉及到在shell命令下如何给php传参的问题,通常有三种方式传参. 一.使用$argv or $argc参数接收 复制代码 代码如下: <?php /**  * 使用 $argc $argv 接受参数  */   echo "接收到{$argc}个参数"; print_r($argv); 执行 复制代码 代码如下: [root@DE

MySQL从命令行导入SQL脚本时出现中文乱码的解决方法

本文实例讲述了MySQL从命令行导入SQL脚本时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 在图形界面管理工具 MySql Query Browser中打开脚本(脚本包括建库.建表.添加数据),并执行,不会有任何问题:但是使用mysql命令行工具执行建库脚本时,添加数据中如果包含中文,存入的数据就是乱码或是???... 解决方法1:在MySql安装目录下找到my.ini,将[mysql]下的default-character-set=latin1改为default-characte

Action获取请求参数的三种方式

方式一:Action本身作为Model对象,通过属性注入(Setter)方法讲参数数据封装到Action中 具体为:在Action中,提供和参数名相同的几个属性,并为其提供set方法,那么,该参数会被自动封装 到该几个属性中. 方式二:创建独立的Model对象,还是通过属性注入的方法将请求数据封装到Model对象中 具体为:另外创建一个专门的类,并在其中添加几个和请求参数名相同的属性,,此时,在表单中,需要讲参数名, 写成Model的一个具体对象名.参数名的方式,然后在Action中,需要定义一

Python tkinter模块中类继承的三种方式分析

本文实例讲述了Python tkinter模块中类继承的三种方式.分享给大家供大家参考,具体如下: tkinter class继承有三种方式. 提醒注意这几种继承的运行方式 一.继承 object 1.铺tk.Frame给parent: 说明: self.rootframe = tk.Frame(parent) tk.Label(self.rootframe) import tkinter as tk class MyApp(object): def __init__(self, parent)

Python函数中定义参数的四种方式

Python中函数参数的定义主要有四种方式: 1. F(arg1,arg2,-) 这是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等 的值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应,也就是说第一个形参对应这第一个实参.例如: 复制代码 代码如下: def a(x,y):print x,y 调用该函数,a(1,2)则x取1,y取2,形参与实参相对应

java自带命令行工具jmap、jhat与jinfo的使用实例代码详解

java自带命令行工具(jmap,jhat,jinfo) (1)JMAP 1.作用 打印进程,core文件,和远程进程的共享对象存储map或堆存储器的详细信息. 2.使用 jmap[options]pid jmap[options]executablecore jmap[options][pid]server-id@]remote-hostname-or-IP 如果指定的进程是在64位Java虚拟机(JVM)上运行,那么你可能需要指定-J-d64选项,例如:jmap -J-d64 -heap p

Java Spring Controller 获取请求参数的几种方法详解

Java Spring Controller 获取请求参数的几种方法  1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交.若"Content-Type"="application/x-www-form-urlencoded",可用post提交 url形式:http://localhost:8080/SSMDemo/demo/addUser1?username=lixiaoxi&password=1

Python中的命令行参数解析工具之docopt详解

前言 docopt 是一个开源的库,代码地址:https://github.com/docopt/docopt.它在 README 中就已经做了详细的介绍,并且还附带了很多例子可供学习,这篇文章也是翻译一下 README 中内容-- docopt 最大的特点在于不用考虑如何解析命令行参数,而是当你把心中想要的格式按照一定的规则写出来后,解析也就完成了. docopt的安装 docopt有很多种版本,分别支持不同的语言,最简答的docopt支持python脚本,docopt.java支持java脚

python自动化测试之从命令行运行测试用例with verbosity

本文实例讲述了python自动化测试之从命令行运行测试用例with verbosity,分享给大家供大家参考.具体如下: 实例文件recipe3.py如下: class RomanNumeralConverter(object): def __init__(self, roman_numeral): self.roman_numeral = roman_numeral self.digit_map = {"M":1000, "D":500, "C"

在win和Linux系统中python命令行运行的不同

今天,在完成一个小的python习题,习题的主要内容是读取一个帮助模块,并保存到本地文件. 知道是用pydoc进行模块的读取,但是在windows系统下,调用os模块之后,结果总是为空. 核心语句: helpfile = os.popen('pydoc %s' %module).read() 此语句在Linux下可以正常运行,结果正常. 后来发现,在Windows下,该修改为: helpfile = os.popen('python -m pydoc %s' %module).read() 命令