ホームページ  >  記事  >  バックエンド開発  >  Python学習におけるリストとタプルの使い方を詳しく解説

Python学習におけるリストとタプルの使い方を詳しく解説

WBOY
WBOY転載
2022-11-02 15:51:512027ブラウズ

この記事では、Python に関する関連知識を提供し、主にリスト宣言の構文、リストの読み取り、リストの操作など、リストとタプルの使い方について詳細な説明を紹介します。要素の基礎知識と操作、など、一緒に見ていきましょう♪皆さんの参考になれば幸いです。

[関連する推奨事項: Python3 ビデオ チュートリアル ]

リストとタプルの概要

話している場合Python について この言語で最適なデータ型を探すと、間違いなくリストです。おすすめするなら、タプルを選びます。このブログではリストに焦点を当てます。タプルはリストとみなすことができます。したがって、贈り物として勉強してください。

List は、以前の文字列型の多くの欠点を補うことができる非常に柔軟なデータ構造です。

正式に学習する前に、リストとタプルという 2 つの英単語を覚えておく必要があります。

リストの学習ポイント

最初にリストの定義を確認します:

リストは変数シーケンスであり、任意のデータ型を格納できるコンテナです。角括弧 (##) を使用してください。 #[]) は開始と終了を表します。内部要素は英語のカンマ (,) で区切られています。各要素はプロジェクトと呼ばれることがあり、各要素にはインデックス (is とも呼ばれます) があります。添え字。

リスト宣言の構文

リストを宣言するには、次の形式を参照できます。

#空のリストを宣言するには空の括弧 [] を使用してください

my_list = []
print(my_list)

1 つの要素を含むリストを宣言してください

my_list = [1]
print(my_list)
# # 複数の要素を含むリストの宣言

my_list = [1,2]
print(my_list)
異なるデータ型の複数の要素を含むリストの宣言

my_list = [1,'a',True]
print(my_list)
リストを含むリストの宣言

my_list = [1,['a'],[True,1,1]]
print(my_list)
リストの読み方

リストの読み方で最も重要な概念は、位置またはインデックスとも呼ばれる添え字です。添字は 0 からカウントを開始します。つまり、リストの最初の要素のインデックスは 0 です。たとえば、次のコードは数値 2 を読み取ります。

my_list = [1,2,3,4,5]
print(my_list[1]) # 数字2所在的下标为1

リスト操作

リストは、要素の追加、削除、変更、クエリ、マージなどの操作をサポートする動的コンテナです。使用されるすべてのメソッドは辞書オブジェクトです。基本的には操作メソッドです。名前は次のとおりです:

append()
    : 要素を末尾に追加します;
  • extend()
  • : リストを末尾に追加しますend は、2 つのリストをマージすることとしても理解できます;
  • insert()
  • : 指定された位置に要素を挿入します;
  • copy()
  • : リストをコピー ;
  • clear()
  • : リストをクリア;
  • count()
  • : 指定された要素の数をカウントしますlist;
  • pop()
  • : 指定された
  • 添字に対応する要素を削除して return; remove()
  • : 指定された要素をリストから削除します;
  • index()
  • : 指定された要素のインデックスを取得します;
  • reverse()
  • : 逆にします要素;
  • sort ()
  • : リスト要素を並べ替えます。
  • リスト要素の追加方法

上のリストから、リストが要素を追加することがわかります。これを実現するには 2 つの方法があります。 append()

メソッドを使用すること、2 つ目は

insert() メソッドを使用することです。サンプル コードは次のとおりです。

my_list = [1,2,3,4,5]
my_list.append(888)
my_list.insert(1,666)
print(my_list)
上記 2 つの違いを比較してください。 append()

メソッドはリストの末尾にのみ要素を追加できますが、

insert() メソッドは任意の位置、つまり最初の位置に要素を挿入できます。 insert() メソッドのパラメータはインデックスであり、挿入位置を示します。 リスト要素の検索メソッド

リスト内の要素を検索するには、index()

メソッドを使用します。このメソッドの構文形式は次のとおりです。次のように表示:

my_list.index(value,[start[,stop]])
ここで、my_list

は検索するターゲットのリスト、

value は検索する値、start を表します。 stop はオプションのパラメータで、検索を開始するインデックス値と検索を終了するインデックス値を示します。要素が見つかると、このメソッドは最初に見つかった要素のインデックス位置を返します。たとえば、次のコードは 3 を返します。

my_list = [1,2,3,4,5]
ret = my_list.index(4)
print(ret)
このメソッドがターゲット リストで要素を見つけられない場合、エラー タイプ ValueError

でエラーが報告されます。

index()

メソッドの他に、リストを読み取ることも要素検索の方法です。たとえば、添え字 2 の要素を読み取る場合、コードは次のようになります。 #
my_list = [1,2,3,4,5]
ret = my_list[2]
print(ret)

Alright メンバー演算子 in を使用してリストを判断します。メンバー演算子についての詳細は、後で演算子を要約するときに詳しく説明します。次のコードは

True

を返します。これは、番号 2 がリストに含まれていることを意味します。 <pre class="brush:py;">my_list = [1,2,3,4,5] ret = 2 in my_list print(ret)</pre>リストにはもう 1 つ重要な知識ポイントがあります。それはリストのスライスです。この知識ポイントを学ぶには、インデックスによるリストの読み取りに関する構文をしっかりとマスターする必要があります。スライスの構文形式は次のとおりです。 <pre class="brush:py;">my_list = [1,2,3,4,5] ret = my_list[1:3:2] print(ret)</pre>上記のコードの 2 行目を見ると、元のリストを読み取るためのルールに基づいて、形式が

[1:3:2]

に変更されます。中国語の文法とその指示は次のとおりです:

my_list[起始索引:结束索引:步长]

使用切片的时候,英文冒号不能缺少,起始索引为必选项,结束索引和步长为可选项。

如果理解困难,最好的办法就是反复用代码校验。

# 缺省结束索引,默认获取到列表结尾元素
my_list = [1,2,3,4,5,6,7,8,9,10]
ret = my_list[1:]
print(ret) # 输出 [2, 3, 4, 5, 6, 7, 8, 9, 10]

# 缺少步长,默认按照索引+1解决,同时不包含结束索引代表的元素
my_list = [1,2,3,4,5,6,7,8,9,10]
ret = my_list[1:5]
print(ret) # 输出 [2, 3, 4, 5]

# 步长设置为2,表示索引每次+2
my_list = [1,2,3,4,5,6,7,8,9,10]
ret = my_list[1:6:2]
print(ret) # 输出 [2, 4, 6]

上述代码如何理解已经在注释中进行说明,重点要掌握的切片知识点整理如下:

一首打油诗送给大家~

切片不能丢冒号 结束步长可不要 默认索引都加一 左闭右开要牢记

列表元素的修改和删除

前文已经掌握了列表的读取,将读取到的元素重新赋值就是列表的修改,例如下述代码。

my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
print(my_list)

列表元素删除 在 Python 中,提出了多种列表元素删除的方式,本小节学习三个列表元素删除的方法,即 clear()pop()remove(),除此之外还可以使用 del() 函数对列表元素进行删除。

my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
my_list.clear() # 列表清空
print(my_list)

使用 pop() 方法删除列表元素,默认从尾部删除,并返回被删除的元素。

my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
ret = my_list.pop()
print(my_list) # 删除最后一项
print(ret) # 返回被删除的元素

pop() 方法中可以传递一个 index 值,该值表示下标值,即删除指定位置的元素,与之对应的是 remove() 方法的参数,该值表示待删除的目标元素,例如在列表中删除元素 5,使用的代码如下:

my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
ret = my_list.remove(5)
print(my_list)
print(ret)

测试之后,可以发现 remove() 方法无返回值,并且该方法只删除第一个匹配到的元素,也就是当列表中有多个目标元素时,只有最先匹配到的元素被删除。

del() 函数可以删除列表中指定元素,也可以直接删除列表对象,代码如下:

# 删除索引位置为5的元素
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
del(my_list[5])
print(my_list)


# 删除整个列表对象
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
del my_list
print(my_list)

列表元素合并

使用 extend() 方法可以将列表进行合并:

my_list1 = [1,2,3]
my_list2 = [666,777,888]
my_list1.extend([666,777,888])
print(my_list1)

注意 extend() 方法不会生成新的列表。

列表合并也可以使用加号(+) 实现,该语法会产生一个新的列表。

my_list1 = [1,2,3]
my_list2 = [666,777,888]
my_list = my_list1 + my_list2
print(my_list)

列表元素顺序变化

列表排序用到的方法是 sort(),该方法默认按照 ASCII 进行增序或者减序排列,测试代码如下所示:

my_list = [4,1,2,6,7,3,8,12,10]
my_list.sort()
print(my_list)

sort() 方法中也有 2 个参数,格式如下:

my_list.sort(key=None,reverse=False)

参数 key 为可选参数,可以传入一个函数名,该函数会作用与列表中的每一项元素,例如将列表中每一项元素都转换为小写字母。

my_list = [&#39;ABC&#39;,&#39;CDS&#39;,&#39;Juejin&#39;,&#39;YUE&#39;]
my_list.sort(key=str.lower)
print(my_list)

sort() 方法会对原列表进行排序,如果想生成一个新列表,可以使用 sorted() 函数,代码如下:

my_list = [&#39;ABC&#39;,&#39;CDS&#39;,&#39;Juejin&#39;,&#39;YUE&#39;]
ret = sorted(my_list)
print(ret)

除此之外,还可以使用 reverse() 方法。

my_list = [&#39;ABC&#39;,&#39;CDS&#39;,&#39;Juejin&#39;,&#39;YUE&#39;]
my_list.reverse()
print(my_list)

元组学习要点

元组定义与列表基本一致,只需要做好如下区分即可。

  • 元组不能对其包含的元素进行修改,即元组不可变;
  • 元组用小括号(())表示。

再次进行简单总结:

元组是不可变序列,也是可以包含任意数据类型的容器,用小括号(())表示,元素之间用逗号(,)分隔 。一定要注意的就是不可变序列,不可变的含义是不能对元组进行增加,修改,删除,位置变换等操作。

元组基本知识

声明一个元组

my_tuple = ()
print(my_tuple)
print(type(my_tuple))

声明一个只包含 1 个值的元组,要求必须带一个逗号,否则会按照整数处理。

my_tuple = (1,)
print(my_tuple)
print(type(my_tuple))

声明包含多个值的元组:

my_tuple = (1,2,3,4,5,6,[1])
print(my_tuple)
print(type(my_tuple))

元组的基本操作

由于元组对象的方法使用与列表一致,接下来仅对元组进行罗列。

  • count():统计元组中元素个数;
  • index():返回指定元素的下标。

其余可作用于元组的内置函数如下所示:

  • len():获取元组元素个数;
  • max():返回元组中最大值;
  • min():返回最小值;
  • tuple():将列表转换为元组;
  • type():返回对象类型;
  • del():删除整个元组对象,注意不能删除元组内元素;
  • sum():求和。

【相关推荐:Python3视频教程

以上がPython学習におけるリストとタプルの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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