BSは、非Pythonプログラミング言語です。それは二つの理由から人気のあるシンプルさと読みやすさを設計します。パイソンの目的として:美しい、醜い暗黙のではなく、明示的なよりも優れています。
一般的なコーディングのヒントが有用での設計を改善するためのいくつかの助けを覚えておいてください。必要な時には、これらのヒントは、あなたのインターネット検索スタックオーバーフロートラブルを減らすことができます。そして、彼らはあなたの毎日の運動プログラムのお手伝いをします。
1、文字列を反転させます
次のコードは、Python反転スライス列を使用しています。
#スライス使用して文字列を逆 my_string = " ABCDE " reversed_string = my_stringを[:: - 1 ] 印刷(reversed_string)# の出力#1 EDCBA
2クラスのタイトルを使用して(大文字)
次のコードは、文字列クラスのタイトルを変換するために使用することができます。これは、文字列クラスのタイトル()メソッドを使用することによって達成されます。
my_string = " 私の名前はchaitanyaのbawejaである" #文字列classnew_stringのタイトル()関数を使用して= my_string.title() プリント(new_string) #の出力#私の名前であるChaitanya Baweja
3、検索文字列のみ要因
次のコードは、文字列のすべてのユニークな要素を見つけるために使用することができます。私たちは、その性質、ユニークな文字列のすべての要素を使用します。
my_string = " aavvccccddddeee " #(my_string)settemp_set =セットに文字列を変換 #joinnew_string = '' .join(temp_set)を使用して文字列にステッチセット 印刷(new_string)
図4に示すように、n番目の出力文字列またはリスト
あなたは、文字列またはリスト(*)の乗算を使用することができます。したがって、それらのいずれかがオンデマンドで2倍にすることができます。
N = 3 #繰り返し回数 = my_string " ABCD " my_listという = [1,2,3 〕 印刷が(my_string * N) #abcdabcdabcd 印刷(my_listという* N) #[1,2,3,1,2,3,1 STとして、2,3]インポートstreamlit
興味深いユースケースは、値のリストを有する定数を定義することで、ゼロと見なさ。
nは4my_list = [0] * N #nが必要リスト#の長さを示し、[0、0、0、0]
5、リスト内包
他のリストに基づき、リストの内包表記は、リストを作成するためのエレガントな方法を提供します。
次のコードは二回、各オブジェクトの古いリストを乗じて、新しいリストを作成します。
#2によって、リスト内の各要素を掛ける = original_list [1,2,3,4 ] new_list = [2 * X のための X でoriginal_list】 プリント(new_list) #[2,4,6,8]
図6に示すように、2つの変数の間の交換の値
Pythonは第三の変数を使用せずに、2つの変数の間の非常に単純な交換価値とすることができます。
A = 1B = 2 、B = B、 印刷()#1 2print(B)#1
7、サブ文字列のリストに分割
.split()メソッドを使用して、文字列は、文字列のサブリストに分割することができます。また、パラメータとして渡された区切り文字を分割することもできます。
STRING_1の= " 私の名前はChaitanya Bawejaある" STRING_2 = " サンプル/文字列2 " #のデフォルトの区切り' 'プリント(string_1.split())#['私'、 '名前'、 'で'、 'Chaitanya'、「Baweja '] #としてセパレータを定義する'/'print(string_2.split('/'))# ['試料'、 '列2']
8、単一の文字列に文字列の統合リスト
単一の文字列に文字列のリストを統合する()メソッドに参加します。次の例では、コンマは、それらを分離するセパレータ。
list_of_strings = [ ' 私が'、' 名前は'、' である'、' Chaitanya '、' Baweja ' ] #コンマseparatorprint( ''。)(list_of_stringsに参加)との結合を使用して #1 、出力#私、名前れ、Chaitanya 、Baweja
図9に示すように、指定された文字列は、パリンドロームであるか否かをチェックする(回文)
リバーステキストは、上述されました。したがって、パリンドロームはPythonで簡単なプログラムになります。
my_string = " ABCBA " メートル場合 my_string my_string == [:: - 1]: 印刷(" 回文")他: プリント(" 回文ない" ) #の出力#回文
10、周波数の要素のリスト
そここのタスクを達成する多くの方法があり、私はPythonのカウンタークラスを使用するようにしたいです。Pythonのカウンタは各素子の周波数を追跡するために、カウンタ()は重要な要素である辞書にフィードバックされ、周波数値です。
また、リスト内のmost_frequent要素を取得するためにmost_common()関数を使用します。
#listfromコレクションの各要素の周波数を見つけることはカウンタインポート my_listという= [ ' '、' '、' B '、' B '、' B '、' C '、' D '、' D '、' dは'、' D '、' D '】カウント=カウンター(my_listという)#カウンタオブジェクト定義印刷(カウント) #すべての要素#カウンタ({:5、 'B':3 '': 'D' 2、 'C':1}) 、印刷(カウント[ ' B ' ]) #個々の要素#3の 印刷( count.most_common(1)) #最も頻繁要素#[( 'D'、5)]
かどうか二つの文字列のアナグラムを見つけるために11、
カウンタークラスの興味深いアプリケーションは、アナグラムを見つけることです。
アナグラム文字が異なる単語を意味や単語は、新しい単語や構成新しい単語を並べ替えます。
カウンターオブジェクトは、二つの文字列であれば、彼らはアナグラムであることを、等しくなっています。
コレクションからインポートカウンター str_1が、がstr_2、str_3 = " acbdeを"、" abced "、" ABCDA " cnt_1、cnt_2、cnt_3 = カウンター(str_1が)カウンター(がstr_2)、カウンタ(str_3) の場合 cnt_1 == cnt_2: 印刷(" 1及び2アナグラム')場合 cnt_1 == cnt_3: プリント(' 1および3アナグラム')
12、のtry-除く-elseブロック
これは、簡単にブロック、Pythonのエラー処理するtry / exceptを使用することによって解決されます。ブロックにelseステートメントを追加することは有用である可能性があります。ときtryブロックに異常、正常動作。
あなたが特定のプログラムを実行したい場合は、関係なく、異常の、最後に使用します。
、B = 1 、0 試し: プリント(/ b)の #の印刷( "ゼロによる除算")他:プリント( "例外は発生しません")最後に:プリント(「ファイル名を指定して実行これは常にbが0except ZeroDivisionErrorときに例外が発生しました「)
図13は、取得した索引と値の使用を含みます
次のスクリプトは、リスト内のそのインデックスの値を反復するために、リストを使用しています。
my_listという= [ ' '、' B '、' C '、' D '、' E ' ] 用の指標値で列挙(my_listという): プリント(' {0}:{1} ' .format(インデックス値)) #0:#1:B#2:C#3:D#4:E
14、検査中のオブジェクトのメモリ使用量
次のスクリプトは、メモリ使用量のオブジェクトをチェックするために使用することができます。
インポートSYS NUM = 21 プリント(sys.getsizeof(NUM)) #パイソン2において、24#においてはPython 3、28
15、2つの辞書をマージ
でPythonの2、2つの辞書をマージするアップデートを使用して()メソッド、およびPython3.5の動作を容易にします。
指定したスクリプトでは2つの辞書をマージします。私たちは、クロスケースの事態を避けるために、第二の値のディクショナリを使用しました。
dict_1 = { ' リンゴ':9、' バナナ':6 } dict_2 = { ' バナナ':4 ' オレンジ':8 } combined_dict = {** dict_1、** dict_2} プリント(combined_dict) #の出力#{」リンゴ':9、 'バナナ':4 'オレンジ':8}
16、コードの実装に必要な時間
次のコードは、コードの実行時間の一部が費やした時間を計算するソフトウェアライブラリを使用しています。
インポート時 のstart_time = time.time() #endsend_time = time.time()time_taken_in_micro =(end_time-のstart_time)*(10 ** 6)を確認するために、B = 1,2c = A +#コードB followsaをチェックするためのコード、 プリントを(" micro_secondsにかかる時間:{0} MS 」 .format)(time_taken_in_micro)
17、在庫フラットのリスト
あなたがリストのわからない時々ネストの深さ、そしてちょうどすべて単一平面リスト内の要素。
以下の方法で入手できます。
from iteration_utilities import deepflatten # if you only have one depth nested_list, use thisdef flatten(l): return [item for sublist in l for item in sublist] l = [[1,2,3],[3]]print(flatten(l))# [1, 2, 3, 3] # if you don't know how deep the list is nestedl = [[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]] print(list(deepflatten(l, depth=3)))# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
若有正确格式化的数组,Numpy扁平化是更佳选择。
18、 列表取样
通过使用random软件库,以下代码从给定的列表中生成了n个随机样本。
import random my_list = ['a', 'b', 'c', 'd', 'e']num_samples = 2 samples = random.sample(my_list,num_samples)print(samples)# [ 'a', 'e'] this will have any 2 random values
强烈推荐使用secrets软件库生成用于加密的随机样本。
以下代码仅限用于Python 3。
import secrets # imports secure module.secure_random = secrets.SystemRandom() # creates a secure random object. my_list = ['a','b','c','d','e']num_samples = 2 samples = secure_random.sample(my_list, num_samples) print(samples)# [ 'e', 'd'] this will have any 2 random values
19、数字化
以下代码将一个整数转换为数字列表。
num = 123456 # using maplist_of_digits = list(map(int, str(num))) print(list_of_digits) # [1, 2, 3, 4, 5, 6] # using list comprehension list_of_digits = [int(x) for x in str(num)] print(list_of_digits)# [1, 2, 3, 4, 5, 6]
20、 检查唯一性
以下函数将检查一个列表中的所有要素是否唯一。
def unique(l): if len(l)==len(set(l)): print("All elements are unique") else: print("List has duplicates") unique([1,2,3,4])# All elements are unique unique([1,1,2,3])# List has duplicates
#在学习Python的过程中,往往因为没有资料或者没人指导从而导致自己不想学下去了,因此我特意准备了个群 592539176 ,群里有大量的PDF书籍、教程都给大家免费使用!不管是学习到哪个阶段的小伙伴都可以获取到自己相对应的资料!