ホームページ  >  記事  >  バックエンド開発  >  Python のシーケンスとマップのアンパック操作

Python のシーケンスとマップのアンパック操作

高洛峰
高洛峰オリジナル
2016-10-18 09:17:431362ブラウズ

アンパックは、シーケンスまたはマップ内の各要素を個別に抽出することです。シーケンス アンパックを使用する簡単な方法は、最初または最初のいくつかの要素とその後の要素を個別に抽出することです。たとえば、

first, Seconde, *rest = sequence

シーケンス内に少なくとも 3 つの要素がある場合、上記のコードを実行した後、最初 == sequence[0]、2 番目 == sequence[0]、残り == sequence[2:]。

関数は不確実なパラメーターを受け取ります

関数のパラメーターが不確実な場合、*args と **kwargs を使用できます。*args にはキー値がありませんが、**kwargs にはキー値があります。

#!/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')

印刷結果:

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;}



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。