ホームページ  >  記事  >  バックエンド開発  >  Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

王林
王林転載
2023-04-16 14:46:031073ブラウズ

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

シーケンスオブジェクト(シーケンス)

「シーケンス」とは、プログラミングでよく使われるデータの格納方法です。他のプログラミング言語では、「シーケンス」は「配列」、つまり関連するデータ項目を格納するために使用されるデータ構造と呼ばれることがよくあります。ほとんどすべてのプログラミング言語は、C や Basic の 1 次元配列や多次元配列などの「シーケンス」データ構造を提供します。

シーケンスと配列の違い:

  • 配列は、同じデータ型を格納できる連続したメモリ空間を提供します。
  • 列は連続的な記憶領域ですが、さまざまなデータ型を格納でき、より「高度な配列」として理解することもできます。

[シーケンス オブジェクト]

Python でよく使用されるシーケンス オブジェクト

  • List リスト (可変データ型)。
  • タプル タプル (不変のデータ型)。
  • コレクション セット (可変データ型)。
  • Dictionary 辞書 (可変データ型)。
  • String 文字列 (不変)。 ###### 範囲( )。
  • 1. リスト リスト (型)

リスト (リスト) は、Python で最も頻繁に使用されるデータ型です。
  • リストは、ほとんどのコレクション クラスのデータ構造の実装を完了できます。文字、数字、文字列をサポートし、リスト (つまり、ネスト) を含めることもできます。
  • リストは「[ ]」でマークされており、Python で最も一般的な複合データ型です。
  • リストの作成方法

構文: リスト オブジェクト名 = [要素 1, 要素 2, ..., 要素 N]。

#例: リスト オブジェクトを作成する 2 つの方法。 Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

方法 1: デフォルトのメソッド

列表对象= [元素1,元素2,元素3, ...元素N, ]
>>> list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,]
>>> list1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list2 = [‘a’, ’b’, ‘c’, ‘d’, ‘e’, ‘f’, ]
>>> list2
[‘a’, ’b’, ‘c’, ‘d’, ‘e’, ‘f’]
>>> list3 = [‘a’, 1 , True , ‘Hello’, ]
>>> list3
[‘a’, 1 , True , ‘Hello’]

例: リスト オブジェクトを作成する 2 つの方法。

方法 2: range0 組み込み関数を使用する

Python3 list) 関数はオブジェクト反復子であり、 range() によって返される反復可能なオブジェクトをリストに変換できます。リストの変数タイプが返されました。

  • 構文:
  • 列表对象 = list(range(stop))
    >>> list1 = list(range(10))
    >>> list1
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> list2 = list(range(5, 10))
    >>> list2
    [5, 6, 7, 8, 9]
    >>> list3 = list(range(0, 10, 2))
    >>> list3
    [0, 2, 4, 6, 8]
Python3 range() 組み込み関数

Python3 range0 関数はリスト型ではなく反復可能なオブジェクトを返すため、印刷する場合、リストは印刷されません。

  • 作成構文
  • ① range( stop )
    ② range(start, stop [, step])
パラメータの説明:

start:
    start からカウントを開始します。デフォルトは 0 から始まります。例: range(5) は range(0, 5) と同等です。
  • stop:
  • stop までカウントします。例: range(0, 5) は、5 を除いた [0, 1, 2, 3, 4] です。
  • step:
  • ステップ サイズ、デフォルトは 1 です。例: range(0, 5) は range(0, 5, 1) と同等です。
  • リストにアクセスする方法は?
[head 添字: tail 添字: step] を使用してリスト内の値を切り取ることもでき、対応する値をインターセプトすることもできます。リスト。

左から右への添字インデックスはデフォルトで 0 から始まり、右から左への添字インデックスはデフォルトで -1 から始まります。先頭または末尾が指定されていることを示すために添字を空にすることもできます。回収された。

  • コードのデモ: ch03-demol-it-slicepy

##実行結果:

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

mList の最初の要素は変更できますか?

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通しているリストの更新

いわゆる更新とは、リスト要素の再割り当て、削除、追加およびその他の関連操作を指します。

    コードのデモ: cho3-dem2-istupdate.py

##実行結果:

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

リスト演算子

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している文字列の入門で や * の関数について学習しましたが、リストの使い方も同様で、len() や in などの演算もあります。

#コードのデモ: ch03-demo03-list-operation.py

実行結果:

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

#リスト内の関数

リスト オブジェクトをより適切に操作するために、Python は多くの関数も提供します:

① len(list) : 获取列表元素的个数;
② max(list) : 获取列表中的最大值;
③ min(list) : 获取列表中的最小值;
④ list(seq) : 将元组对象转换成列表对象。
Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通しているリストには多くのメソッドも提供します:

① .append(obj) :在列表末尾添加一个元素;
② .count(obj) : 统计某个元素在列表中出现的次数;
③ .index(obj) : 从列表中找出某个值第一个匹配的索引位置;
④ .insert(index, obj) : 向指定位置前序添加一个元素
⑤ .remove(obj) : 移除一个指定的元素;
⑥ .reverse() : 反向列表中的元素;
⑦ .sort() : 对列表进行排序;

List[] と list[:]

'[] "識別は、代表的な参照演算とアドレス転送演算です。

"[:]"識別は、は、典型的な代入操作と値の受け渡し操作です。

    サンプル コード:
  • List_1 = [ 1, 2, 3, 4]
    List_2 = list_1
  • List_1 = [ 1, 2, 3, 4]
    List_2 = list_1[:]

2、元组(Tuple)类型

  • Tuple(元组)类似于List(列表)。
  • 元组不能二次赋值(元组内的元素不允许更新),相当于只读列表。
  • 元组用"() "标识。内部元素用逗号隔开。

如何创建元组?

语法:

元组对象名称 = ( 元素1, 元素 2, ……, 元素N )。

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

元组的特点

元组与列表的所有操作基本类似,唯一不一样的地方是,元组的元素不允许被修改。

示例代码:

>>> tup1 = tuple(range(5))
>>> tup1
(0, 1, 2, 3, 4)
>>> tup2 = (5, 6, 7,)
>>> tup2
(5, 6, 7)

特别说明:

>>> tup1 = s(1)
>>> type(tup1)
>>> tup1 =(1,)
>>> tup1

3、字典( Dictionary)类型

  • 字典(dictionary)是除列表以外python之 中最灵活的内置数据结构类型。key:value
  • 字典当中的元素是通过键来存取的 ,而不是通过偏移存取。
  • 字典用"{}”标识。字典由索引(key)和它对应的值value组成,是一个典型的"k-v值”数据结构。

如何创建字典?

语法:

  • 字典对象名称 = { }。
  • 字典对象名称 = { key1 : value1, key2 : value2, …. , keyN : valueN}。

字典( Dictionary) k-v值在内存中的表现形式

Python 字典

  • k-v结构- 般情况下在操作访问的时候都会使用key索弓进行每个元素的读取操作。
  • 由于key索引键 会被频繁访问,因此索引键key存放在Stack栈内存中,而value值则存储在Heap堆内存中。

内存表现形式:

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

如何访问字典:

语法:

  • 字典对象名称[ key ] #访问key对应的value值。
  • 字典对象名称.keys #访问当前字典所有key索引键。
  • 字典对象名称.values #访问当前字典所有valeus值。

代码演示: ch03-demo04.py

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

运行结果:

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

如何修改字典?

字典更新指的是对字段元素的重新赋值、删除、添加等相关操作。

相关方法:

  • update( ) # 添加一个新元素或更新已有元素。
  • pop( ) # 删除指定元素。

代码演示: cho3-demo05.py

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

运行结果 :

Python をマスターし、リスト、祖先、辞書、セットのデータ型に精通している

4、集合Set

  • 集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。
  • 可以用大括号({)创建集合。 注意:如果要创建一个空集合,你必须用set)而不是{} ;后者创建一个空的字典。

集合的创建

obj1 = {1, 2, 3, 4, 5}
obj2 = ({6, 7, 8, 9})

集合Set的关系操作(交.并、补)

s = set([3,5,9,10]) #创建- -个数值集合
t = set("Hello") #创建一个唯一 字符的集合
a=t|s # t和s的并集,
b=t&s # t和s的交集
C=t-S #求差集(项在t中,但不在s中)
d=t^s #对称差集(项在域s中,不会同时出现在二者中)

基本操作:

t.add('x") #添加一项
s.update([10,37,42]) #在s中添加多项

以上がPython をマスターし、リスト、祖先、辞書、セットのデータ型に精通しているの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。