Home  >  Article  >  Backend Development  >  Unpacking operations for Python sequences and maps

Unpacking operations for Python sequences and maps

高洛峰
高洛峰Original
2016-10-18 09:17:431394browse

Unpacking is to extract each element in a sequence or map separately. A simple way to use sequence unpacking is to extract the first or first few elements and the following elements separately, for example:

first, seconde, *rest = sequence

If there are at least three elements in sequence, then after executing the above code, first == sequence[0], second == sequence[0], rest == sequence[2:].

The function receives uncertain parameters

When the parameters of the function are uncertain, you can use *args and **kwargs. *args has no key value, and **kwargs has a key value.

#!/usr/bin/python
# -*- coding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
  
'''
当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。
  
'''
  
def fun_var_args_kwargs(data1, *args, **kwargs):
    print 'data1:', type(data1), data1
    print '*args:', type(args), args
    print '**kwargs:', type(kwargs), kwargs
  
fun_var_args_kwargs('this is data1', 2, '3', 4.0, k1='value1', k2='value2')
  
print '-------------'
  
def print_args(*args, **kwargs):
    print args.__class__.__name__, args, kwargs.__class__.__name__, kwargs
  
print_args()
print_args(1, 2, 3, a='A')

Print results:

data1: <type &#39;str&#39;> this is data1
*args: <type &#39;tuple&#39;> (2, &#39;3&#39;, 4.0)
**kwargs: <type &#39;dict&#39;> {&#39;k2&#39;: &#39;value2&#39;, &#39;k1&#39;: &#39;value1&#39;}
-------------
tuple () dict {}
tuple (1, 2, 3) dict {&#39;a&#39;: &#39;A&#39;}



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn