Python | Pythonのリスト、タプル、文字列の操作を理解するための記事

元のスターStarDustであるCSDNから転送された良い記事の推奨事項

シーケンス

1 リスト#

リスト(リスト)は、Pythonの非常に重要な組み込みデータタイプです。リストは一連の要素で構成され、すべてのタプルは四角い括弧で囲まれています。リストを作成したら、操作を追加、削除、および変更できます。

リストには、文字列、数値、リスト、タプルなどのPythonデータ情報を含めることができます。

1.1 リスト紹介##

リストは、固定サイズのない順序付けられたコレクションであり、任意のタイプの任意の数のPythonオブジェクトを格納できます。構文は [element 1、element 2、...、elementn]です。

【例】

>>> list =[ “a”, “b”, “c” ]文字のリストを定義します。
>>> list =[1,2,3,4]番号のリストを定義します。
>>> list =[[1,2,3,4],["a","b","c"]]、定義リストのリスト。
>>> list =[(1,2,3,4),("a","b","c")]タプルのリストを定義します。
>>> list((1,2))タプルをリストに変換する[1,2], list('test')置くことができます
文字列に['t','e','s','t']リスト

リストノート:

1.2 リスト操作##

リストのすべての操作を次の表に示します。

1.2.1 リストスクリプト演算子###

リストペア+と*の演算子は文字列に似ています。 +記号は結合リストに使用され、*記号は繰り返しリストに使用されます。

1.2.2 リストスライス###

スライス操作(slice)は、リストからサブリスト(リストの一部)を取得できます。スライスを定義するために、正方形のブラケットのペア、開始オフセット開始、終了オフセット終了、およびオプションのステップサイズステップを使用します。

形式:[開始:終了:ステップ]
•[:]文字列全体を最初(デフォルトの位置0)から最後(デフォルトの位置-1)まで抽出します
•[開始:]最初から最後まで抽出します
•[:end]最初から最後まで抽出-1
•[開始:終了]最初から最後まで抽出-1
•[開始:終了:ステップ]開始から終了-1まで抽出し、ステップごとに1文字を抽出します
•左側の最初の文字の位置/オフセットは0で、右側の最後の文字の位置/オフセットは-1です。

【例】

>>> list =[1,2,3,4,5,6,7]>>> list[1:] #インデックス1の後のリスト---------[2,3,4,5,6,7]>>> list[:-1] #リストインデックス-1より前-------[1,2,3,4,5,6]>>> list[1:3] #リストインデックス1到3之间的-----[2]>>> list[::-1]#[7,6,5,4,3,2,1] #逆機能の効果を形成する:

1.2.3 浅いコピーと深いコピー###

A.割り当てリファレンス

a ={1:[1,2,3]}
b = a
print(id(a)==id(b))

出力:

True

割り当て参照aとbは両方とも同じオブジェクトを指しています。

B.浅いコピー

a ={1:[1,2,3]}
b = a.copy()print(id(a)==id(b))print(id(a[1])==id(b[1]))

出力:

False
True

aとbは独立したオブジェクトですが、それらの子オブジェクトは依然として統合オブジェクト(参照)を指しています。

C.ディープコピー

import copy
a ={1:[1,2,3]}
b = copy.deepcopy(a)print(id(a)==id(b))print(id(a[1])==id(b[1]))print(id(a[1][0])==id(b[1][0]))

出力:

False
False
True

aとbは親オブジェクトとその子を完全にコピーし、2つは完全に独立しています。 a [1] [0]およびb [1] [0]の場合、それは引き続きオブジェクト1への参照であり、新しいオブジェクトは作成されません。これは、pythonストレージメカニズムに準拠しています。

1.2.4 その他の一般的な操作###

【例】

>>> list1 =[3,5,1,6,9]>>> lsit2 =[3,5,1,6,9]>>> a = list1.sort()   #恒久的に並べ替え、このリストだけが変更されます
>>> print(a, l1) 
# None [1,3,5,6,9]>>> b =sorted(list1)    #一時的な並べ替えは、変数を割り当てることができることを意味します
>>> print(b, list1)
# [1,3,5,6,9][3,5,1,6,9]>>> c = list2.reverse()>>>print(c, list2)
# None [9,6,1,5,3]

2 タプル#

2.1 タプル操作##

Pythonタプルはリストに似ていますが、文字列と同様に、作成後にタプルを変更できない点が異なります。

2.2 タプルを解凍##

1次元タプルを解凍します(左括弧にはいくつかの変数を定義するいくつかの要素があります)
【例】

( a, b, c)=(1,10.31,'python')print(a, b, c)
# 110.31 python

2次元タプルを解凍します(タプル内のタプル構造に従って変数を定義します)
【例】

t =(1,10.31,('OK','python'))(a, b,(c, d))= t
print(a, b, c, d)
# 110.31 OK python

タプルにいくつかの要素のみが必要な場合は、ワイルドカード文字「*」を使用します。これは、英語ではワイルドカードと呼ばれ、コンピューター言語で1つ以上の要素を表します。次の例は、複数の要素を rest変数にスローすることです。
【例】

t =1,2,3,4,5
a, b,*rest, c = t
print(a, b, c)  # 125print(rest)  # [3,4]

残りの変数をまったく気にしない場合は、ワイルドカード「*」と下線「_」を使用します。
【例】

a, b,*_ = t
print(a, b)  # 12

3 ストリング#

3.1 文字列の紹介##

文字列の定義:
文字列は、引用符の間の文字の集合です。引用符には、単一引用符、二重引用符、および三重引用符(3つの連続する単一引用符または二重引用符)が含まれます。

【例】

>>> s1='I love Python'>>> s1
' I love Python'>>> s2=str([1,2,3])>>> s2
'[1, 2, 3]'

Pythonエスケープ文字

文字列の前にu、r、bを追加します

3.2 文字列のフォーマット##

Pythonは、フォーマットされた文字列の出力をサポートしています。この方法では非常に複雑な式を使用できますが、最も基本的な使用法は、文字列形式の文字%sを使用して文字列に値を挿入することです。 Pythonでは、文字列の書式設定はCのsprintf関数と同じ構文を使用します。
【例】

print "My name is %s and weight is %d kg!"%('Zara',21)
# My name is Zara and weight is 21 kg!

Python文字列フォーマット記号:

オペレーター補助命令のフォーマット:

3.3 formatフォーマット機能##

Python2.6から、新しい文字列フォーマット関数str.format()が追加されました。これにより、文字列フォーマットの機能が強化されます。

【例】

>>>"{} {}". format("hello","world")    #指定された場所を設定せず、デフォルトの順序に従います
' hello world'>>>"{0} {1}".format("hello","world")  #指定した場所を設定する
' hello world'>>>"{1} {0} {1}".format("hello","world")  #指定した場所を設定する
' world hello world'
print("サイト名:{name},住所{url}".format(name="初心者チュートリアル", url="www.runoob.com"))
 
# 辞書を介してパラメータを設定する
site ={"name":"初心者チュートリアル","url":"www.runoob.com"}print("サイト名:{name},住所{url}".format(**site))
 
# リストインデックスでパラメータを設定
my_list =['初心者チュートリアル','www.runoob.com']print("サイト名:{0[0]},住所{0[1]}".format(my_list))  # "0"必須です

番号の書式設定

^, <, > 中央揃え、左揃え、右揃えの後に幅が続き、:記号の後にパディングが付いている文字は1文字のみです。指定されていない場合、デフォルトではスペースが埋め込まれます。

  • 正の数の前に+を表示し、負の数の前に-(スペース)は正の数の前にスペースを追加することを意味します
    b、d、o、およびxは、それぞれ2進数、10進数、8進数、および16進数です。

【例】

>>> print("{:.2f}".format(3.1415926));3.14>>>print("{}対応する位置は{{0}}".format("runoob"))
runoobの場所は{0}

練習問題:

1、リスト操作演習
リストlstの内容は以下の通りです。
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
次の操作を完了するためのプログラムを作成してください。

  1. リストの最後に要素15を追加します
  2. リストの中央に要素20を挿入します
  3. リスト[2、5、6]をlstにマージします
  4. リスト内のインデックス3の要素を削除します
  5. リスト内のすべての要素を反転します
  6. リスト内の要素を、小さいものから大きいものへと1回、大きいものから小さいものへと1回並べ替えます。
>>> lst =[2,5,6,7,8,9,2,9,9]>>> lst.append(15)>>> lst.insert(5,20)>>> lst.extend([2,5,6])>>> del lst[3]>>> lst.reverse()>>> lst.sort()>>> lst.sort(reverse=True)

元のアドレス

https://blog.csdn.net/OuDiShenmiss/article/details/107599379

Love&Share [終了]

Recommended Posts

Python | Pythonのリスト、タプル、文字列の操作を理解するための記事
Pythonでの歩留まりを理解するための記事
pythonで番号のリストを理解する方法
pythonオブジェクトを理解する方法
Pythonファイルの読み取りおよび書き込み操作
Pythonは文字列と数値のスプライシングを実装します
Pythonで変数を理解する方法
pythonオブジェクト指向プログラミングを理解する方法
およびおよびまたはPythonでの使用方法
Pythonのトリックとトリック-更新を続けます...
Pythonでグローバル変数を理解する方法