Heim > Backend-Entwicklung > Python-Tutorial > Python-Sequenz- und Karten-Entpackvorgänge

Python-Sequenz- und Karten-Entpackvorgänge

高洛峰
Freigeben: 2016-10-18 09:17:43
Original
1469 Leute haben es durchsucht

Das Entpacken besteht darin, jedes Element in einer Sequenz oder Map separat zu extrahieren. Eine einfache Möglichkeit, das Entpacken der Sequenz zu verwenden, besteht darin, das erste oder die ersten paar Elemente und die folgenden Elemente separat zu extrahieren, zum Beispiel:

erstes, zweites , *rest = sequence

Wenn mindestens drei Elemente in Folge vorhanden sind, gilt nach der Ausführung des obigen Codes zunächst == sequence[0], zweitens == sequence[0], rest == sequence[2 :].

Die Funktion empfängt unsichere Parameter

Wenn die Parameter der Funktion unsicher sind, können Sie *args und **kwargs verwenden. *args hat keinen Schlüsselwert und **kwargs hat einen Schlüssel Wert.

#!/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')
Nach dem Login kopieren

Druckergebnis:

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;}
Nach dem Login kopieren



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage