Pythonのベース(2):基本データ型操作

Pythonはインタプリタ言語であり、それは利点コードを持ち、シンプルで理解しやすい、多数が日常業務で必要とすることができる良い方法を内蔵し、モジュールを完了するために、第三者の方法をパッケージ化しています。

 

  • 指数

インデックス0(バックフロントの数)で開始し、下端が(前方の数から、1)標識

= str_a ' ハローパイソン' 
プリント(str_a [0])#印刷結果:H
 印刷(str_a [-1])#印刷結果:N
  • スライス

フォーマット:[開始位置:終了位置:ステップ]、1の既定のステップサイズ

= str_a ' ハローパイソン' 
プリント(str_a [0:12である:. 3])#印刷結果:hlph
  • スプライス

文字列をステッチ2つの方法が最初、ある:0009 + STR2第二「」参加((STR1、STR2))は、のパラメータは、この方法は、データの反復型で参加。

= str_a ' こんにちは' 
str_b = ' Pythonの' 
印刷(str_a + str_b)#印刷結果:hellopython
 印刷' ' .join((str_a、str_b)))#の印刷結果:こんにちは、パイソン
  • 書式付き出力

Pythonの文字列は、出力のフォーマットの3つの方法があります。

図1に示すように、フォーマットするための従来の方法:%

%S:(任意の型の)プレースホルダ文字

%のD:数値型プレースホルダ

%F:浮動小数点数のプレースホルダ、デフォルトの保存6つの小数点以下の桁数

印刷' I午前%S '' ボブ' 私はボブの午前:#結果を印刷)
 印刷' 年%d個の歳'%24は今年、24歳:)#は結果を印刷
 印刷' 身長%.2f '#%1.7381)印刷結果:高さ1.74

2、形式フォーマットされた出力

{}文字列番号に、番号が順次充填される着信データの形式であることができ;およびフォーマットパラメータは、{}の数よりも多くすることができるが、以下のエラーを回避することができます

str_a = こんにちはみんな、私の名前は{}で、{}歳今年の
 印刷(str_a.format(ボブ、18 位の結果を印刷)):こんにちは、誰もが、私は少し明、18歳と呼ばれる
 小数点の後に予約の数字
を印刷します今日豚肉価格{:} .2f要素.format(28.623))#印刷結果:今日豚肉28.62元の価格である 分数割合がフォームで表示 印刷{:0.2%}パーセンテージ。形式(0.34))#印刷結果:百分率34.00パーセント

3、表現F

=名' ' 
年齢 = 18 
S3 = F. ' 私の名前{名前}、年齢年齢} { ' 
プリント(S3)#印刷結果:I赤名、年齢18

 

  • 一般的な方法:

(パラメータ1、パラメータ2)検索:文字列が返され見つからない場合、パラメータは、2パラメータのルックアップを表す文字列を検索するための開始位置を示す、発生ストリングセグメント内の文字列の開始インデックスを探します-1

= str_a ' 123abc456def '  
RES = str_a.find(' C ' 5の結果、3)#res

交換(パラメータ1、パラメータ2、パラメータ3):断片1と指定された文字列は、3つのパラメータが別の(デフォルトはReplacesすべてを指定する、置換パラメータの後に断片列が2を表し、文字列フラグメントを置き換えるために、パラメータの数を表します。の)

= str_a ' 123abc456def456456 ' 
RES = str_a.replace(' 456 '' 789 '、2)結果#res 123abc789def789456として

スプリット(パラメータ1、パラメータ2):文字列パラメータを分割し、分割ポイントを指定するには除ポイント1を表し、2分割回指定されたパラメータ(デフォルトでは、すべての分割ポイントとあなたの分割を見つけます。)

= str_a ' 123abc456def456abc456 ' 
RES = str_a.split(' ABC ' [ '123'、 '456def456abc456'の結果、1)#res ]

カウント():セグメントの数は、統計的なストリングの数が発生して、文字列内の統計的な文字列を表示され、0を返しますがあれば

= str_a ' 123abc456def456abc456 ' 
RES = str_a.count(' 456 '結果)#res 3

上段():大文字と小文字が

= str_a ' 123aBc456DeF456Abc456 ' 
RESの結果= str_a.upper()#res 123ABC456DEF456ABC456あります

LOWER():大文字はを小文字

= str_a ' 123aBc456DeF456Abc456 ' 
RESの結果= str_a.lower()#res 123abc456def456abc456あります

内蔵ストリング方法上方に、他の多くの方法があり、例えば:タイトル())(大文字、swapcase()、等

 

リスト、タプルや文字列、データ型です反復することができ、彼らはもっとここで繰り返す、インデックスとスライス操作をサポートしません。更に、待ち行列、スタック、ヒープデータ構造、また関係のリストとして、より豊かな操作空間を用いて得られたタプルのリストと比較。共通のリストだから、それがどのような動作しますか?

私たちは、リストに要素を追加します。

= list_a [1、9、6、3,1 ,. 4 ,. 5 ] 
#リストの最後に要素を追加 list_a.appendを(
7 プリント(list_a)#list_a結果である:[1、9、6、3、1、 4、5、7]
リストに要素インサート#(1パラメータ:添字インデックス、パラメータ2:値)
list_a.insert(
5 ,. 8 プリント(list_a)#list_a結果は[1、9、6、 3、1、8、4、5、7]
は、リストの末尾に複数の要素を(データの種類が反復してもよい)を追加
list_a.extend([
2、3 ]) プリント [1,9:(list_a)#list_a結果は、6、3、1、8、4、5、7、2、3]

同時に、要素を削除するためのメソッドのリストもの様々なています:

削除:要素は、(最初​​の要素を削除した)指定を削除します

ポップ:指定されたインデックス位置を削除するには、(デフォルトのインデックスを削除することは時に最後の1に指定されていません)

すべての要素のリストを空に:明確な

並べ替え:

ソート

list_a = [1、9、6、3、1、4、5 ] 
list_a.sort()
プリント(list_a)  list_a结果为:[1、1、3、4、5、6、9]

ソート

list_a = [1、9、6、3、1、4、5 ] 
list_b = ソート(list_a)
 プリント(list_b)#list_b结果为:[1、1、3、4、5、6、9]

デフォルトは、ソートの昇順にソートされ、彼らの最大の違いは、その種のリスト自体がソートされ、ソート方法が値を返さない、と戻り値がソートし、その結果を受け取る変数がなければならないと、リスト自体はソートされません。

また逆逆に()があり、()、要素インデックスindex()、空クリア()メソッドを見つけるように見える統計的要素の数を数えます。

 

辞書

辞書に要素を追加します。

dict_1 = { ' AA ':8888、' BB ':22であり、' CC ':33である} 
dict_1 [ ' DD ' ] = 44である
 プリント:{ 'AA':8888、(dict_1)#印刷結果 'BB':22、 'CC':33、 'DD ':44}

それ以外の場合は、キーに対応する値を変更します、キーが辞書に存在しない場合、それは新しいキーと値のペアを追加しますが、この方法上記の要素を追加します。

辞書内の要素の数を増やすには:

= {dict_1 ' AA ':8888、' BB ':22、である' CC ' 33である。} 
dict_1.update({ ' C ':1、' D ':1 })
 プリント(dict_1)#印刷結果:{「AA ':8888、B-B' ': 22、' CC ':33、' C ':1、' D「:1}

削除辞書いくつかの方法があります。

  • キーで、キーを削除するには:  dict_1.pop(CC
  • キーと値のペアの辞書の端を削除:  dict_1.popitem()
  • 任意の位置を削除するキー:  デル [dict_1 BBを ]

queryメソッドの辞書:

  • 検索キーで:dict_1 [ ' AA ' ]またはdict_1.get( 'AA')
  • すべてのキーのディクショナリを取得します:一覧(dict_1.keys())
  • 辞書内のすべての値を取得します:一覧(dict_1.values())
  • すべてのキーと値のペアのディクショナリを取得します:一覧(dict_1.items())

空の辞書:  dict_1.clear() 

 

データ変換動作のいくつかの種類が含まれます:

文字列の転送リスト:  リスト(パイソン 

文字列のリスト:

'' .join([ ' H '' E '' L '' L '' O ' ])

辞書転送リスト:  辞書(ZIP([ ' A '' B ' ])[1、2]) 

様々なタイプのデータの間で交換することができ、1例ずつではありません。

 

特別なエピソード知識:このモジュールは、保証10進浮動小数点精度を紹介し、あなたは結果が精密に関与計算でフロートが失われていない持っていることを確認したい場合は、小数点以下は便利な、特定の用途に来て、次のようです、

印刷(0.1 + 0.11)印刷結果:0.21000000000000002

問題のより明確な結果の精度、コンピュータで0.1バイナリ無限ループに問題の嘘を見られるように、過剰部分がインターセプトされ、最終的に精度の損失につながることは、小数の回避にそれを使用する方法、特定の動作条件の下で起こります次のように:

小数インポート進数の
 印刷(DECIMAL(STR(0.1))+小数(STR(0.11)))#結果を出力:0.21

科学計算又は金銭面で、この数値的方法を使用することを検討して計算効率のこの方法は、浮動小数点演算よりも低いので、一般的には推奨されません。

おすすめ

転載: www.cnblogs.com/suanmiaoup/p/12161045.html
おすすめ