私は整数のリストを持っており、その中に7,8,9、または0のすべての整数を取り除きたいと思います。数字を基にしたPythonのリストから要素を削除する
これは私がこれまでにやっていることです:
import numpy as np
def P(n):
list = []
for i in range(10**(n-1),7*10**(n-1)):
list.append(i)
for i in list:
for k in str(i):
if k in ['7','8','9','0']: list.remove(i)
#elif k == '8': list.remove(i)
#elif k == '9': list.remove(i)
#elif k == '10': list.remove(i)
return list
をしかし、それは、これを返します。
[11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 42, 43, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 56, 58, 60, 61, 62, 63, 64, 65, 66, 68]
それは、不要な値を取り除くように、私はこのコードを修正するにはどうすればよいですか?つまり、18,20,28,30など。
過度の狂気を繰り返すリストを変更しないでください。また、pythons組み込み型を隠す変数 'list'を指定しないでください。 'もしstr(i)のcのための' 7890 'に含まれていない)ならば、範囲(10 **(n-1)、7 * 10 ** – AChampion