【ゼロから学ぶPython】 18. Pythonのリストの基本操作を詳しく解説(1)

リストの紹介

考えてみてください:

前に学習した文字列は、一連の情報を保存するために使用できます。クラスの生徒全員の名前を保存する方法を考えてみましょう。

100 個の変数を定義し、各変数に生徒の名前を格納することは可能ですか? もっと良い方法はありますか?

答え:リスト

リスト

1. リストのフォーマット

列の形式を定義します。[元素1, 元素2, 元素3, ..., 元素n]

変数 tmp はリスト型です

tmp = ['xiaoWang',180, 65.0]

リスト内の要素はさまざまなタイプにすることができます

2. 添え字を使用してリスト要素を取得する

namesList = ['xiaoWang','xiaoZhang','xiaoHua']
print(namesList[0])
print(namesList[1])
print(namesList[2])

結果:

xiaoWang
xiaoZhang
xiaoHua

リストデータの操作

変数データ (リスト、データベースなど) に対する操作には、通常、追加、削除、変更、チェックの 4 つの側面が含まれます。

1.要素を追加する

要素を追加するにはいくつかの方法があります。

  1. append最後に要素を追加する
  2. insert指定した位置に要素を挿入します
  3. extend2 つのリストをマージする

追加する

append新しい要素をリストの最後に追加します

# 定义变量A,默认有3个元素
A = ['xiaoWang','xiaoZhang','xiaoHua']

print("-----添加之前,列表A的数据-----A=%s" % A)

# 提示,并添加元素
temp = input('请输入要添加的学生姓名:')
A.append(temp)

print("-----添加之后,列表A的数据-----A=%s" % A)

入れる

insert(index, object)指定された位置インデックスの前に要素オブジェクトを挿入します

strs = ['a','b','m','s']
strs.insert(3,'h')
print(strs)  # ['a', 'b', 'm', 'h', 's']

伸ばす

extend別のコレクションの要素をリストに 1 つずつ追加する

a = ['a','b','c']
b = ['d','e','f']
a.extend(b)
print(a)  # ['a', 'b', 'c', 'd', 'e', 'f'] 将 b 添加到 a 里
print(b)  # ['d','e','f'] b的内容不变

2. 要素を変更する

添字を指定してリスト要素にアクセスするため、要素を変更するときは、指定されたリストの添字に値を割り当てるだけです。

# 定义变量A,默认有3个元素
A = ['xiaoWang','xiaoZhang','xiaoHua']

print("-----修改之前,列表A的数据-----A=%s" % A)

# 修改元素
A[1] = 'xiaoLu'

print("-----修改之后,列表A的数据-----A=%s" % A)

3. 要素を検索する

いわゆる検索とは、指定された要素が存在するかどうかを確認したり、要素の位置を確認したりすることであり、主に次のような方法があります。

  1. inそしてnot in
  2. indexそしてcount

Pythonではなく、
一般的な検索方法は次のとおりです。

in(存在する)、存在する場合は結果はTrue、それ以外の場合はFalse
not in(存在しない)、存在しない場合は結果はTrue、それ以外の場合は です。False

# 待查找的列表
nameList = ['xiaoWang','xiaoZhang','xiaoHua']

# 获取用户要查找的名字
findName = input('请输入要查找的姓名:')

# 查找是否存在
if findName in nameList:
    print('在列表中找到了相同的名字')
else:
    print('没有找到')

結果 1: (見つかった)

結果 2: (見つかりません)

例証します:

inメソッドが使用できる限り、not in同様に使用されますが、not in存在しないと判断されます

インデックス、カウント

indexこれは要素の位置を見つけるために使用され、要素が見つからない場合はエラーが報告されます。count要素の出現数をカウントするために使用されます。これらは文字列と同じように使用されます。

a = ['a', 'b', 'c', 'a', 'b']
a.index('a', 1, 3) # 注意是左闭右开区间
a.index('a', 1, 4)
a.count('b')
a.count('d')

4. 要素の削除

これは現実世界と同様で、クラスメートが転校した場合、このエントリの後の生徒の名前を削除する必要があります。この削除機能は開発でよく使用されます。

リスト要素を削除する一般的な方法は次のとおりです。

  1. del:添え字に従って削除
  2. pop: 最後の要素を削除します
  3. remove:要素の値に応じて削除

movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
print('------删除之前------movieName=%s' % movieName)
del movieName[2]
print('------删除之后------movieName=%s' % movieName)

ポップ

movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
print('------删除之前------movieName=%s' % movieName)
movieName.pop()
print('------删除之后------movieName=%s' % movieName)

取り除く

movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
print('------删除之前------movieName=%s' % movieName)
movieName.remove('指环王')
print('------删除之后------movieName=%s' % movieName)

5. ソート(ソート、リバース)

sortこの方法では、リストを特定の順序で並べ替えます。デフォルトは小さいものから大きいものへ、パラメータはreverse=True大きいものから小さいものの逆の順序に変更できます。

reverseその方法はリストを逆にすることです。

a = [1, 4, 2, 3]
a.reverse()  # 逆置,不排序
a.sort()  # 默认从小到大排序
a.sort(reverse=True)  # 从大到小排序

練習する

words = ['hello','',','good','hi','','yes','','no']リスト内の空の文字列をすべて削除してください。

先進的な事例

【Python】Pythonで単語当てゲームを実現 - 知力と運に挑戦!

[Python] Python tkinter ライブラリは重量単位変換用の GUI プログラムを実装します

[Python] Selenium を使用して (2023 Blog Star) エントリを取得します

【Python】SeleniumとChrome WebDriverを使って「Tencent Cloud Studio実践合宿」の記事情報を取得する

Tencent Cloud Cloud Studio を使用してバイドゥ AI のスケジューリングを実現し、テキスト認識を実現します

【Pythonで楽しむシリーズ【Xiaobi必見】Pythonマルチスレッドクローラー:絵文字パッケージWebサイトの画像をダウンロード

【Pythonで遊ぶシリーズ】 【小白さん必見】Pythonを使って双世丘の履歴データをクロールして視覚的に分析する

【Pythonで遊ぶシリーズ】 【Xiaobiさん必見】Pythonクローラー技術を使ってプロキシIPを取得してファイルに保存する

【シャオバイ必見】PILライブラリを使ってランク別・列別の複数画像の合成を実現するPython画像合成例

【Xiaobai必見】Pythonクローラーの実戦は女神の写真を一括ダウンロードしてローカルに保存

【Xiaobi必見】Pythonワードクラウドジェネレーターの詳細な分析とコード実装

【Xiaobai必見】NBA選手データの例をPythonでクロール

【Xiaobiさん必見】Pythonでヒマラヤ音声をクロールして保存するサンプルコード

【シャオバイ必見】Pythonを使ってリーグ・オブ・レジェンドのスキン画像を一括ダウンロードする技術的実現

【Xiaobai必見】Pythonクローラーのデータ処理と可視化

【シャオバイ必見】栄光王のヒーロースキン画像を簡単に入手できるPythonクローラープログラム

【Xiaobiさん必見】Pythonを使ってパーソナライズされたリストのWord文書を生成する

【小白必見】Pythonクローラー戦闘:陰陽師のWebサイトから写真を取得して自動保存

Xiaobai必見の図書館管理システムシリーズ - ログインおよび登録機能のサンプルコード

小白の実戦100例:小白入門に最適な完全かつシンプルな双世丘宝くじ当選判定プログラム

geopandas と Shapely (.shp) を使用した地理空間データの処理と視覚化

セレンを使用して Maoyan の映画リスト データをクロールする

画像強調アルゴリズム Retinex の原理と実装の詳細な説明

クローラー入門ガイド (8): 視覚的な分析のための気象データ クローラー プログラムを作成する

クローラー入門(7):SeleniumとBeautifulSoupを使ってDouban映画トップ250をクロールする作例解説【爬虫類Xiaobai必見】

クローラー入門ガイド (6): クローラー対策と高度なスキル: IP プロキシ、ユーザー エージェント偽装、Cookie バイパス ログイン検証および検証コード識別ツール

クローラ入門(5):分散クローラと同時実行制御 【クローリング効率向上と要求合理性制御の実装方法】

クローラー入門 (4): Selenium と API を使用して動的 Web ページをクロールする最良の方法

クローラー入門ガイド (3): Python ネットワーク リクエストと一般的なクローラー対策戦略

クローラー入門 (2): データの抽出と処理に正規表現を使用する方法

爬虫類入門(1):爬虫類の基礎とスキルを学ぶ

画像認識における深層学習モデルの応用: CIFAR-10 データセットの実践と精度分析

Python オブジェクト指向プログラミングの基本とサンプル コード

MySQL データベース操作ガイド: Python を使用して操作を追加、削除、変更、クエリする方法を学習します。

Python ファイル操作ガイド: エンコード、読み取り、書き込み、例外処理

PythonとSeleniumを使ってクローリングを自動化#【ドラゴンボートフェスティバル特別公募】究極のテクノロジーを探求、未来はあなた次第「宗」 #寄稿記事

Python マルチスレッドおよびマルチプロセスのチュートリアル: 包括的な分析、コードケース、最適化スキル

Selenium 自動化ツールセット - 完全なガイドとチュートリアル

Python Web クローラーの基礎から実戦までのチュートリアル

Python 入門チュートリアル: for ループ、while ループ、文字列操作、ファイルの読み書き、例外処理の基礎知識をマスターします。

Pandas データ処理と分析チュートリアル: 基本から実際の戦闘まで

Python でよく使用されるデータ型と関連する操作の詳細な説明

【2023年最新】分類モデルの指標を改善する6つの主要なスキームを詳しく解説

Python プログラミングの基礎と高度なスキル、Web 開発、データ分析、機械学習と人工知能の入門

4 つの回帰手法による予測結果をグラフ化: ベクトル回帰、ランダム フォレスト回帰、線形回帰、K 最近傍回帰

おすすめ

転載: blog.csdn.net/qq_33681891/article/details/132275460