Python
 Computer >> コンピューター >  >> プログラミング >> Python

リストのすべての要素から特定の数字を削除するPythonプログラム


リストのすべての要素から特定の数字を削除する必要がある場合は、反復と「set」演算子および「str」メソッドが使用されます。

以下は同じもののデモンストレーションです

my_list = [123, 565, 1948, 334, 4598]

print("The list is :")
print(my_list)

key = 3
print("The key is :")
print(key)

my_result = []

for element in my_list:
   if list(set(str(element)))[0] == str(key) and len(set(str(element))) == 1:
      my_result.append('')
   else:
      my_result.append(int(''.join([element_1 for element_1 in str(element) if int(element_1) != key])))

print("The result is :")
print(my_result)

出力

The list is :
[123, 565, 1948, 334, 4598]
The key is :
3
The result is :
[4598]

説明

  • 整数のリストが定義され、コンソールに表示されます。
  • キーの値が定義され、コンソールに表示されます。
  • 空のリストが作成されます。
  • リストが繰り返され、インデックスが0番目の要素がチェックされて、キーが文字列、セット、リストに変換された後、キーと一致するようになります。
  • 「and」演算子は、特定の要素の長さが1に等しいかどうかを確認するためにも使用されます。
  • はいの場合、空のスペースが空のリストに追加されます。
  • それ以外の場合は、リスト内包表記を使用して繰り返し処理することにより、文字列に変換されます。
  • これは、要素がキーと等しくない場合にのみ実行されます。
  • これは再び整数に変換され、空のリストに追加されます。
  • これはコンソールに出力として表示されます。

  1. Pythonでリスト内の同じ要素を削除するにはどうすればよいですか?

    ブロックの外側のreturnステートメントを削除するだけです。それが動作します。また、最後の印刷ステートメントには、remaove_newではなくremove_sameが必要です。 def remove_same(L1, L2):     L1_copy = L1[:]     for e in L1_copy:         if e in L2:              L1.remove(e)     return

  2. Pythonでインデックスによってリストから要素を削除するにはどうすればよいですか?

    リスト内のインデックスで要素を削除するには、2つのオプションがあります。 delステートメントを使用し、pop()メソッドを使用します。 delステートメントには、削除する要素のインデックスが必要です。 >>> L1=[11,22,33,44,55,66,77] >>> del L1[2] >>> L1 [11, 22, 44, 55, 66, 77] 組み込みリストクラスのpop()メソッドには、引数としてインデックスが必要です。このメソッドは、削除された要素を返し、リストの内容を1要素減らします。 >>> L1=[