Pythonのデータ構造


データ構造は、簡単にアクセスできるようにデータを整理して格納する簡単な方法です.
何がリストですか?
リストは、データ型の任意の型を格納できるデータ構造です.リスト内のデータ値は別の型であることができます.整数、float、string、booleanなどです.リストを作成するには、四角括弧内にコンマ区切り値を置くことができます.
# List Data Structure
a = ['hello', 1, True, 4.4]
b = [1, 2, 3, 4, 5]

type(a)
# Output: <class 'list'>

type(b)
# Output: <class 'list'>
リストの長さを得る方法は?
リストの長さは、文字列に存在する値の数です.LEN ()関数を使用してリストの長さを取得できます.
# Length of the List

s = ['a', 'b', 12, True, 22]
print(len(s))

# Output: 5
どのようにリスト内の値にアクセスするには?
リストの値へのアクセスは、文字列内の文字にアクセスするのと同じです.違いは、リストにおいて、文字の代わりに各々のインデックスで、異なるデータ値が存在するということです.リストインデックスは0から始まり、終了値まで移動します.また、負のインデックスを使用して値にアクセスすることができます、最後の値は- 1のインデックス値を持ち、それは最初の値まで減少し続けるでしょう.

# Accessing the list values

s = ['Hello', 4, True, 0.0, 70]

s1 = s[0]

s2 = s[-1]

print('s1:', s1)
print('s2:', s2)

# Output
# s1: Hello
# s2: 70
ネストリスト
リスト内の値としてリスト自体を割り当てることができます.ネストされたリストにアクセスするには、その特定のリストのインデックスを使用できます.下の写真をご覧ください.

# Accessing nested list values
list_a = [[1, 2, 3, 4, 5], "Hello World", [True, False]]

a1 = list_a[0]
a2 = list_a[-1]

print('a1:', a1)
print('a2:', a2)

# Output
# a1: [1, 2, 3, 4, 5]
# a2: [True, False]

# Accessing Values of a sublist
a3 = list_a[0][0]
a4 = list_a[-1][-1]

print('a3:', a3)
print('a4:', a4)

# Output
# a3: 1
# a4: False
どのようにインデックスを理解する場合は、両方の正と負の作品を簡単にリストの任意の要素にアクセスすることができます.
リストのスライス方法
リストスライスも文字列スライスと同じです.構文リスト[ start : stop ]の最初のインデックスの値はサブリストの一部であるが、最後のインデックスの値ではない.また、文字列と同じステップインデックスを与えることもできます.下記のコードを見てください.
# List Slicing
fruits = ['Mangoes', 'Bananas', 'Oranges', 'Guava', 'Grapes']

fruit_list1 = fruits[1:3]
fruit_list2 = fruits[1:3:2]

print('fruit_list1:', fruit_list1)
print('fruit_list2:', fruit_list2)

# Output
# fruit_list1: ['Bananas', 'Oranges']
# fruit_list2: ['Bananas']
リストは変更可能です
文字列と異なり、リストは変更可能です.リストのデータ値を変更することができます.下記のコードを見てください.
a = [1,2,3,4,5,6]

a[3] = True

print("After Mutation:", a)

# Output:
# After Mutation: [1, 2, 3, True, 5, 6]
リスト操作
リストで実行できる操作を見ましょう.
演算子'+'演算子
つ以上のリストを結合するには'+'演算子を使用できます.下記のコードを見てください.
# Using '+' Operator
s = [1, 2, 3, 4, 5]
t = ['Car', 'Bike']

m = s + t
print(m)

# Output
# [1, 2, 3, 4, 5, 'Car', 'Bike']
'*'演算子
'*'演算子はリスト要素を複製するために使用されます.下記のコードを見てください.
# Using '*' in Operator
list_1 = [1, 2, 3, 4, 5]
list_2 = list_1 * 2

print('list_2:', list_2)

# Output
# [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
' in '演算子
' in '演算子を使用してデータ値がリストに存在するかどうかを確認します.値がリストに存在するならば、それはそうでなければ偽を出力します.
# Using 'in' Operator
list = ['Python', 'Is', 'Awesome']

text = 'Python'

print(text in list)
# Output: True

print('hello' in list)
# Output: False
基本一覧表
add ()
append ()メソッドは、リストの末尾にデータ値を追加するために使用します.
pop ()
pop ()メソッドを使用して、リストから最後の値を削除します.
s = [10, 'fruits', 'Car', 2.0, False]

s.pop()
print(s)
# Output
# [10, 'fruits', 'Car', 2.0]

s.append('new value')
print(s)
# Output
# [10, 'fruits', 'Car', 2.0, 'new value']
タプル
タプルはPythonの別の種類のデータ構造です.タプルは異なるデータ値のコレクションです.タプルは、いくつかの違いのリストデータ構造に非常に似ています.違いを見ましょう.
リストとタプルの違い
  • 角括弧[]を使用するリストを定義するために、タプルを定義するために、丸括弧()を使用します.
  • # Define a Tuple
    tup = ('Lion', 'Bear', 'Monkey')
    
    type(tup)
    # Output: <class 'tuple'>
    

  • タプルは不変です-リストとは異なり、タプルは不変です.これは、定義後にタプルのデータ値を変更できないことを意味します.
  • つのアイテムでタプルを定義する方法
    # Define tuple with one value
    tup1 = ('Hello')
    tup2 = (8)
    
    type(tup1)
    # Output: <class 'str'>
    
    type(tup2)
    # Output: <class 'int'>
    
    あなたはそれに気がつきましたか.変数の型は' tuple 'でなければなりませんが、その型の代わりに丸括弧内のデータ値の型です.
    タプルにするには、1つの値があってもコンマ(.)を置く必要があります.
    tup3 = ('Hello',)
    tup4 = (8,)
    
    type(tup3)
    # Output: <class 'tuple'>
    
    type(tup4)
    # Output: <class 'tuple'>
    
    タプルとタプルの操作をスライスする値にアクセスするような他の側面は、リストデータ構造と同じです.データ値をプログラムの寿命に対して一定にする場合は、リストの代わりにタプルを使用することができます.