Pythonの基本的なリスト操作の紹介
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の過去記事を検索するか、以下の記事を引き続きご覧ください。
関連
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】Pythonで2つのリストを引き算する
-
[解決済み】PIP (Python) : ImportError: 名前 _remove_dead_weakref をインポートできない。
-
[解決済み】 str.containsでNaNを無視する。
-
[解決済み] ValueError: シグナルはメインスレッドでのみ動作します。
-
[解決済み] USBErrorです。[Errno 13] アクセスが拒否されました(権限が不足しています)。
-
[解決済み] 1次元numpy配列のためのPythonメディアンフィルタ
-
[解決済み] 名前パターンをインポートできない
-
[解決済み] 凡例に入れるラベル付きハンドルが見つからない
-
socket.gaierror:[Errno 11001] getaddrinfoに失敗しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] urllib2 HTTP エラー 400: 不正なリクエスト
-
Djangoプロジェクトの構成は、独立した実装を分割する
-
[解決済み] Python 3でexecfileの代替?[重複]です。
-
[解決済み] 式中括弧内のf-stringにおいて、=(イコール)はどのような働きをするのでしょうか?
-
[解決済み] .pycファイルを避けるには?
-
[解決済み] Python 関数間の変数の受け渡し
-
[解決済み] flask TypeError: 'ImmutableMultiDict' オブジェクトは呼び出し可能ではありません。
-
[解決済み] ダグランを埋め戻す際の気流を防ぐには?
-
[解決済み] EC.presence_of_element_located((By.ID, "myDynamicElement")) は、IDではなくクラスを指定する以外にどのように使用するのでしょうか?
-
PythonはModuleNotFoundErrorを解決します。Queue' という名前のモジュールがない