- argsは、キーと値のペアではない可変数のパラメーターリストを関数に送信するために使用されます。
python
def test_var_args(f_arg,*argv):print("first normal arg:", f_arg)for arg in argv:print("another arg through *argv:", arg)test_var_args('yasoob','python','eggs','test')
これにより、次の出力が生成されます:
first normal arg: yasoob
another arg through *argv: python
another arg through *argv: eggs
another arg through *argv: test
**kwargsを使用すると、長さが不定のキーと値のペアをパラメーターとして関数に渡すことができます。関数で名前付きパラメーターを処理する場合は、 kwargsを使用する必要があります。たとえば、パラメータは辞書です
Code
def greet_me(**kwargs):for key,value in kwargs.items():print("{0} == {1}".format(key,value))greet_me(name='michong',age=10)
出力
name == michong
age ==10
標準パラメータと* args、使用時の** kwargsの順序
Code
demo_func(fargs,*args,**kwargs)
この方法は、ジュプターノートブックでも使用できます。この方法を使用する場合は、壊す必要のある場所に直接置いてください。
python
import pdb
def make_bread():
pdb.set_trace()return"I don't have time"print(make_bread())
オブジェクトは、イテレーターを返すことができる** iter メソッドを定義するか、添え字インデックスをサポートできる getitem **メソッドを定義します。これは、イテラブルオブジェクトです。
nextまたは** next **が任意に定義されている場合、それはイテレーターです
ループトラバーサルのプロセスは反復と呼ばれます
また、yieldを使用して値を生成するイテレーターでもあります
Code
def generator_function():for i inrange(10):yield i
for item ingenerator_function():print(item)
出力:
# Output:0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
Code
items =[1,2,3,4,5]
squared =list(map(lambda x: x**2, items))
Code
def multiply(x):return(x*x)
def add(x):return(x+x)
funcs =[multiply, add]for i inrange(5):
value =map(lambda x:x(i), funcs)print(list(value))
# 翻訳者注:前回の印刷では、python2のリスト変換が追加されました/3互換性
# python2ではマップは直接リストを返しますが、python3ではイテレーターを返します
# したがって、python3と互換性を持たせるために,リスト変換が必要
# Output:
# [0,0]
# [1,2]
# [4,4]
# [9,6]
# [16,8]
filterはリスト内の要素をフィルタリングし、要件を満たすすべての要素で構成される列を返します
テーブルは要件を満たしています。つまり、関数が要素にマップされている場合、戻り値はTrueです。
Code
number_list =range(-5,5)list(filter(lambda x:x%2==0, number_list))
output
[-4,-2,0,2,4]
リストを計算して結果を返すには、Reduce機能を使用できます
Code
# 以下は、リスト内のすべての要素を相互に追加する機能です。
from functools import reduce
reduce((lambda x, y:x+y),[1,2,3,4])
output:
10
Code
some_list =['a','b','c','b','d','m','n','n']
duplicates =set([x for x in some_list if some_list.count(x)>1])print(duplicates)
## 出力:set(['b','n'])
Code
valid =set(['yellow','red','blue','green','black'])
input_set =set(['red','brown'])print(input_set.intersection(valid))
output:{'red'}
Code
valid =set(['yellow','red','blue','green','black'])
input_set =set(['red','brown'])print(input_set.difference(valid))
output:
{' brown'}
Code
s.add( x )
s.update( x ) ##要素を追加することもでき、パラメーターはリストにすることができます
Code
s.remove( x ) ##セットsから要素xを削除します。要素が存在しない場合、エラーが発生します。
s.discard( x ) ##コレクション内の要素を削除する方法もあり、要素が存在しない場合、エラーは発生しません。
s.discard( x ) ##コレクション内の要素を削除する方法もあり、要素が存在しない場合、エラーは発生しません。
s.pop() ##セット内の要素をランダムに削除します
Code
len(s)
Code
s.clear()
Recommended Posts