1. ホーム
  2. スクリプト・コラム
  3. パイソン

Pythonの基本的なリスト操作の紹介

2022-01-28 09:10:17

1. リストへの要素追加方法

1.1 Python append() メソッドによる要素の追加

var isInstalled = checkAppInstalled(activity!!! ,"com.instagram.android") if(isInstalled){ sharedToIns() }else{ OToastProUtils.toastShort("notInstalledIns") } メソッドは、リストの末尾に要素を追加するために使用され、このメソッドの構文は以下の形式を持ちます。

/** * Share to Ins (local image) */ private fun sharedToIns() { showProLoading() val type = "image/*" val uri = Uri.parse("android.resource://" + context?.getPackageName() + "/" + R.mipmap.img_share_toins) val share = Intent(Intent.ACTION_SEND) share.type = type share.putExtra(Intent.EXTRA_STREAM, uri) // startActivity(Intent.createChooser(share, "Share to")) share.putExtra(Intent.EXTRA_TITLE, "share oneHope") share.setPackage("com.instagram.android") startActivity(share) dismissProLoading() }

どこ /** * Determine if the app is installed based on the package name * @param context context * @param pkgName package name string * @return whether to install the boolean */ private fun checkAppInstalled(context :Context,pkgName :String): Boolean{ var isInstalled =false if (pkgName== null || pkgName.isEmpty()) { isInstalled =false } var packageInfo : PackageInfo? = null try { packageInfo = context.getPackageManager().getPackageInfo(pkgName, 0) } catch (e : PackageManager.NameNotFoundException) { e.printStackTrace() } if (packageInfo ! = null){ isInstalled = true } return isInstalled } は追加される要素のリストを示す。 obj リストの末尾に追加するデータを示す。単一の要素でも、リスト、タプルなどでもよい。

1.2 Python extend() メソッドによる要素の追加

extend() と append() の違いは、以下の通りです。 extend() は、リストやメタ・アンカーを全体として扱うのではなく、 それらが含む要素をひとつずつリストに追加していきます。

extend() メソッドの構文は以下のような形式になっています。

listname.extend(obj)

ここで listna meは追加される要素のリストを参照します。 obj リストの末尾に追加するデータを示す。単一の要素、リスト、タプルなどがある。

l = ['Python', 'C++', 'Java'] # Append elements 
l.extend('C') 
print(l)   
# Append a tuple, where the ancestor is split into multiple elements
 t = ('JavaScript', 'C#', 'Go')
 l.extend(t) 
print(l)   
# Append the list, which is also split into multiple elements 
l.extend(['Ruby', 'SQL']) print(l)   




走行の結果

['Python', 'C++', 'Java', 'C' ]。
 [Python」「C++」「Java」「C」「JavaScript」「C#」「Go」]。
[Python」「C++」「Java」「C」「JavaScript」「C#」「Go」「Ruby」「SQL」]。

1.3 Pythonのinsert()メソッドによる要素の挿入

append() extend() メソッドではリストの末尾にしか要素を挿入できません。もしリストの途中のどこかに要素を挿入したい場合は、insert() メソッドを使用することができます。

insert()の構文は次のような形式になっています。

listname.insert(index,obj)

ここで index は指定された位置のインデックス値を示す。 insert() を挿入します。 obj listname でのリスト index リストの最初の要素の位置。リストやメタ・アンカーを挿入する際にも、insert() はそれらを全体として扱い、 単一の要素としてリストに挿入します。 append() も同じです。

2. リストへの要素の削除方法

Pythonのリストから要素を削除するには、3つの主なシナリオがあります。

  • 削除は、対象要素の位置のインデックスに基づいて、delキーワードまたは pop() メソッドを使用します。
  • 要素そのものの値に基づいて削除する。これは、リスト ( list 型)で提供される remove() メソッドを使用します。
  • リストからすべての要素を削除します。これは、リスト ( list 型)で提供される clear() メソッドを使用します。

2.1 del: インデックス値に基づく要素の削除

del は、リスト内の単一の要素を、以下のような形式で削除することができます。

del listname[index]

どこ listname はリストの名前を表し index は要素のインデックス値を示す。 del また、連続する要素の間にあるセグメントを削除することも可能です。

という形式です。

del listname[start : end]

2.2 pop(): インデックス値に基づいて要素を削除する

Python pop() メソッドは、指定されたインデックスにあるリストの要素を削除するために使用されます。

具体的な書式は以下の通りです。

listname.pop(index)

ここで、listnameはリスト名、indexはインデックス値を表します。もし index これは、データ構造における "out of stack" 操作に似ています。

ほとんどのプログラミング言語では、同じように pop() の対応するものです。 push() これは、データ構造における "stack" 操作と同様に、リストの末尾に要素を追加するために使用されるものである。

例外はPythonで Python を提供しません。 push() メソッドを使用することは完全に可能だからです。 append() の代わりに push() 関数を使用します。

2.3 remove():要素の値に基づいて削除する

delキーワードに加え Python はまた remove() メソッドがあり、これは要素自体の値に基づいて削除操作を行います。

注意すべきは remove() メソッドは、指定された要素と同じ値を持つ最初の要素のみを削除し、その要素が存在することを確認する必要があり、そうでない場合は ValueError エラーを発生させます。

nums = [40, 36, 89, 2, 36, 100, 7]
#Remove36 for the first time
nums.remove(36)
print(nums)
#Second delete 36
nums.remove(36)
print(nums)
#delete78
nums.remove(78)
print(nums)




走行の結果

[40, 89, 2, 36, 100, 7]
[40, 89, 2, 100, 7]
トレースバック(直近の呼び出しが最後)。
    ファイル "C:³³³³³.py", 行 9, in <module>
        nums.remove(78)
ValueError: list.remove(x): x がリストにない。

最後の削除は、78が存在しないため、エラーが発生するので remove() を使って要素を削除する場合は、先にこれを決めておくとよいでしょう。

2.4 clear():リストの全要素を削除する

Python clear() は、リストのすべての要素を削除する、つまりリストをクリアするために使用します。

次のコードを参照してください。

url = list("http://c.biancheng.net/python/")
url.clear()
print(url)




走行の結果

[]

3. リストの修正要素

3.1 単一の要素を変更する

単一の要素を変更することは、要素に直接値を代入するのと同じくらい簡単です。

次の例をご覧ください。

nums = [40, 36, 89, 2, 36, 100, 7]
nums[2] = -26 # using positive index
nums[-3] = -66.2 # use negative index
print(nums)




走行の結果

[40, 36, -26, 2, -66.2, 100, 7]

インデックスを使ってリスト要素を取得した後、=代入で要素の値を変更します。

3.2 要素の集合を変更する

Python は、スライス構文による要素のセットへの値の割り当てをサポートしています。このとき、ステップ(stepパラメータ)を指定しない場合は Python は、新しく割り当てられる要素の数が元の要素の数と同じである必要はありません。これは、この操作がリストへの要素の追加と削除の両方を可能にすることを意味します。

nums = [40, 36, 89, 2, 36, 100, 7]
#modify the values of the 1st to 4th elements (excluding the 4th element)
nums[1: 4] = [45.25, -77, -52.5]
print(nums)




走行の結果

[40, 45.25, -77, -52.5, 36, 100, 7]

4. 要素を探すためのリスト

4.1 index() メソッド

index() メソッドは、ある要素がリストのどこに現れるか(つまりインデックス)を見つけるために使われ、もしその要素が存在しない場合は ValueError エラーが発生するため count() メソッドで決定します。

index() の構文は、以下の形式です。

listname.index(obj,start,end)

どこ listname はリストの名前を表し obj は探すべき要素を示し start は開始位置を示し end は終了位置を表す。

4.2 count() メソッド

count() メソッドは、ある要素がリストに登場する回数を数えるために使用されます。

基本的な構文形式は

listname.count(obj)

どこ listname はリスト名を表し obj はカウントされる要素を表します。

もし count() は0を返すので、その要素がリストに存在しないことを意味します。 count() は、ある要素がリストに存在するかどうかを判断するために使うこともできます。

5. 概要

Pythonではリストは変更可能であり、プログラムの実行中にリストの要素を挿入したり削除したりすることができます。しかし、タプルは修正可能ではなく、古いタプルを置き換える新しいタプルを構築することで変更でき、要素の挿入や削除が可能である。

Pythonのリストの基本操作についての記事は以上です。Pythonのリストについての詳細は、Scripting Houseの過去記事を検索するか、以下の記事を引き続きご覧ください。