Python
 Computer >> コンピューター >  >> プログラミング >> Python

10興味深いPythonのクールなトリック


Pythonの人気が高まるにつれ、Pythonコーディングで利用できる機能が増えています。この機能を使用すると、コードをより少ない行でよりクリーンに記述できます。この記事では、非常に頻繁に使用され、最も役立つ10のPythonトリックを紹介します。

リストを逆にする

reverse()関数を使用して、指定されたリストを単純に逆にすることができます。リストに存在する数値データ型と文字列データ型の両方を処理します。

List = ["Shriya", "Lavina","Sampreeti" ]
List.reverse()
print(List)

出力

上記のコードを実行すると、次の結果が得られます-

['Sampreeti', 'Lavina', 'Shriya']

リスト要素を任意の順序で印刷

リストの値を異なる順序で印刷する必要がある場合は、リストを一連の変数に割り当て、プログラムでリストを印刷する順序を決定できます。

List = [1,2,3]
w, v, t = List
print(v, w, t )
print(t, v, w )

出力

上記のコードを実行すると、次の結果が得られます-

(2, 1, 3)
(3, 2, 1)

関数内でのジェネレーターの使用

関数内でジェネレーターを直接使用して、より短くクリーンなコードを作成できます。以下の例では、合計関数の引数としてジェネレーターを直接使用して合計を求めています。

sum(i for i in range(10) )

出力

上記のコードを実行すると、次の結果が得られます-

45

zip()関数の使用

リストのような多くのイテレータオブジェクトを結合して単一のリストを取得する必要がある場合は、zip関数を使用できます。結果には、他のリストのそれぞれのアイテムとグループ化される各アイテムが表示されます。

Year = (1999, 2003, 2011, 2017)
Month = ("Mar", "Jun", "Jan", "Dec")
Day = (11,21,13,5)
print zip(Year,Month,Day)

出力

上記のコードを実行すると、次の結果が得られます-

[(1999, 'Mar', 11), (2003, 'Jun', 21), (2011, 'Jan', 13), (2017, 'Dec', 5)]

1行のコードを使用して2つの数値を入れ替える

数値を交換するには、通常、一時変数に値を格納する必要があります。しかし、このPythonのトリックを使用すると、一時変数を使用せずに1行のコードを使用してそれを行うことができます。

x,y = 11, 34
print x
print y
x,y = y,x
print x
print y

出力

上記のコードを実行すると、次の結果が得られます-

11
34
34
11

行列の転置

行列の転置には、列を行に変換することが含まれます。 Pythonでは、マトリックス内の要素を反復処理して場所を変更するループ構造を設計することで実現できます。または、zip関数を*演算子と組み合わせて使用​​する次のスクリプトを使用して、指定された転置行列となるリストを解凍できます。マトリックス。

x = [[31,17],
[40 ,51],
[13 ,12]]
print (zip(*x))

出力

上記のコードを実行すると、次の結果が得られます-

[(31, 40, 13), (17, 51, 12)]

文字列をN回印刷する

文字列を複数回印刷するプログラミング言語での通常のアプローチは、ループを設計することです。しかし、Pythonには、print関数内に文字列と数値を含む簡単なトリックがあります。

str ="Point";
print(str * 3);

出力

上記のコードを実行すると、次の結果が得られます-

PointPointPoint

リストスライスを使用したリスト要素の反転

リストのスライスはPythonの非常に強力な手法であり、リスト内の要素の順序を逆にするためにも使用できます。

#Reversing Strings
list1 = ["a","b","c","d"]
print list1[::-1]

# Reversing Numbers
list2 = [1,3,6,4,2]
print list2[::-1]

出力

上記のコードを実行すると、次の結果が得られます-

['d', 'c', 'b', 'a']
[2, 4, 6, 3, 1]

数の因数を見つける

計算や分析に必要な数値の因数が必要な場合は、反復インデックスを使用してその数値の除算性をチェックする小さなループを設計できます。

f = 32
print "The factors of",x,"are:"
for i in range(1, f + 1):
   if f % i == 0:
print(i)

出力

上記のコードを実行すると、次の結果が得られます-

The factors of 32 are:
1
2
4
8
16
32

メモリ使用量の確認

getsizeof()関数を使用して、宣言する各変数によって消費されるメモリの量を確認できます。以下に示すように、文字列の長さが異なると、メモリの消費量も異なります。

import sys
a, b, c,d = "abcde" ,"xy", 2, 15.06
print(sys.getsizeof(a))
print(sys.getsizeof(b))
print(sys.getsizeof(c))
print(sys.getsizeof(d))

出力

上記のコードを実行すると、次の結果が得られます-

38
35
24
24

  1. リストのすべてのサブリストを出力するPythonプログラム。

    リストを指定して、リストのすべてのサブリストを印刷します。 例- Input : list = [1, 2, 3] Output : [], [1], [1, 2], [1, 2, 3], [2], [2, 3], [3]] アルゴリズム Step 1 : given a list. Step 2 : take one sublist which is empty initially. Step 3 : use one for loop till length of the given list. Step 4 : Run a loop from i+1 to length of th

  2. Pythonでリストを印刷する

    リストは一連の要素です。シーケンス内のすべての要素は、シーケンス内の位置によってアクセスできます。インデックスは0で始まります。したがって、list [2]は、リストの3番目のインデックス2、つまり50の要素を返します。