ホームページ >バックエンド開発 >Python チュートリアル >Python の一般的なメソッドとテクニックの概要

Python の一般的なメソッドとテクニックの概要

伊谢尔伦
伊谢尔伦オリジナル
2017-06-28 13:19:551476ブラウズ

この記事では、主に Python の一般的なメソッドとテクニックを紹介します。この記事では、文字列を逆引きする 3 つの方法、辞書を走査する 4 つの方法、リストを走査する 3 つの方法、辞書の並べ替え方法などについて説明します。必要な友人はそれらを参照できます

1. 文字列を反転する 3 つの方法

1. C++ でメソッドをシミュレートし、それを実現するために空の文字列を定義します
次に、空の文字列を設定します。パラメータを後ろから前に、文字列の追加を使用して新しい文字列にマージします

def reverse(text) :
    str = ''
    index = len(text) - 1
    while index >= 0 :
        str += text[index]
        index -= 1
    return str

1.2. スライス方法を使用します
これは、スライスが負の値を取ることができる機能です。ステップ サイズを -1 にすると、逆ソートが実現します。

def reverse_1(text) :
    return text[::-1]

1.3. リストの使用

リストのリバースメソッドを使用し、最初にテキストをリストに変換し、次にリバースメソッドでそれを反転し、結合を通じて文字列に接続します。

def reverse_2(text) :
    temp = list(text)
    temp.reverse()
    return ''.join(temp)

2.reduceを使用する

匿名関数とreduce()を使用する

def reverse_3(text) :
    return reduce(lambda x, y : y + x, text)
print reverse_3("Hello")
3.辞書を走査する4つの方法

dict={"a":"apple","b":"banana","o":"orange"} 
 
print "##########dict######################" 
for i in dict: 
        print "dict[%s]=" % i,dict[i] 
 
print "###########items#####################" 
for (k,v) in  dict.items(): 
        print "dict[%s]=" % k,v 
 
print "###########iteritems#################" 
for k,v in dict.iteritems(): 
        print "dict[%s]=" % k,v 
 
print "###########iterkeys,itervalues#######" 
for k,v in zip(dict.iterkeys(),dict.itervalues()): 
        print "dict[%s]=" % k,v
4.

5. 辞書のソート方法


辞書は、value の値に応じて大きい順にソートされます (デフォルトは小さい順にソートされます)。

for key in lst :
    print key
    
for i in range(len(lst)) :
    print lst[i]
for index, key in enumerate(lst) :
    print key    //index是list的索引
以下のコードを分解してみましょう

print dic.iteritems() を実行して [(key, value)] のリストを取得します。

次に、sorted メソッドを使用して key パラメーターを渡し、ソートが値、つまり最初の要素 d[1 の値に基づくことを指定します。 reverse = True は、反転する必要があることを意味します。反転すると、デフォルトは大から小になります。
キーで辞書をソートします:

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)
print dict
//输出的结果:
[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]

6. サブクラスと親クラス

サブクラス
Constructor
親クラスの初期化コンストラクターを呼び出します

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[0]) # d[0]表示字典的键
print dict
#sorted中第三个可选参数为reverse, True表示从大到小排序
#默认reverse = False

サブクラスは、同じ名前の親クラスの関数を呼び出します

class A(object) :
    def init(self) :
        print  "testA
class B(A) :
    def init(self) :
        A.init(self)

7 . パラメータを渡すより柔軟な方法

super().fuleifunction()

変数の前にアスタリスク (*) を追加します。呼び出し時のパラメータは tuple()
オブジェクト

に格納され、仮パラメータに割り当てられます。関数内でパラメーターを処理する必要がある場合、このタプル型の仮パラメーター (ここでは args) を操作するだけで済みます。したがって、関数を定義するときにパラメーターの数を指定する必要はなく、任意の数のパラメーターを処理できます。

func2(a=1, b=2, c=3) #默认参数
func3(*args)         #接受任意数量的参数, 以tuple的方式传入
func4(**kargs)       #把参数以键值对字典的形式传入

Python のパラメータはさまざまな形式で組み合わせることができます。これらを一緒に使用する場合は、まず関数の記述に注意する必要があります。1. 仮パラメータ (arg=) にはデフォルト値を指定する必要があります。仮パラメータ (arg) の後に、デフォルト値のない形式で指定します

2. タプル パラメータ (*args) は、デフォルト値

を持つ仮パラメータ (arg=) の後になければなりません 3.タプルパラメータ (*args) の後にある必要があります。 関数が呼び出されるとき、パラメータの受け渡しプロセスは次のとおりです。

1. パラメータを指定せずに実パラメータを仮パラメータに代入します。

2.指定されたパラメータ名 (arg=v) を対応する仮パラメータに追加します

3. 指定されたパラメータを持たない追加の実パラメータをタプルにパックし、それをタプル パラメータ (*args) に渡します
4. 追加の実パラメータを指定されたパラメータ名でパックします。辞書パラメータに渡します(** kargs)

8. ラムダ

ラムダ式は匿名関数とみなすことができます
ラムダ式の文法形式:
ラムダパラメータリスト: 式 #ありませんパラメーターリストを括弧で囲み、戻り値の前にリターンキーがありません Words と関数名がありません

def calcSum(*args):
    sum = 0
    for i in args:
        sum += i
        print sum
#调用:
calcSum(1,2,3)
calcSum(123,456)
calcSum()
#输出:
6
579
0
#################################
def printAll(**kargs):
    for k in kargs:
    print k, ':', kargs[k]
printAll(a=1, b=2, c=3)
printAll(x=4, y=5)
#输出:
a : 1
c : 3
b : 2
y : 5
x : 4

Anaization

: fn(2) が呼び出された後、それは a = lambda y: 2 + y と同等です。次に a(3) が呼び出されるとき。これは print lambda y: 2 + 3 と同等です

以上がPython の一般的なメソッドとテクニックの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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