正規表現タグがありましたので正規表現を使った表現も置いておきますね
import re
[i for i in range(680, 1200) if not re.search('[49]', str(i))]
0Like
スクレイピングのURLリストを作成しようとしています。
その中で4と9を除いたリストを作成したいのですが、うまくいきません。
url_list=[]
for i in range(680,1200,1):
url_list.append(i)
これで680から1279のリストが作成されたと思いますが、
この中から
689
699
1144
など、4と9を含む数字を除外したいです。
何か良い方法はありますでしょうか?
正規表現タグがありましたので正規表現を使った表現も置いておきますね
import re
[i for i in range(680, 1200) if not re.search('[49]', str(i))]
クローズ済みのところ恐縮ですが、4, 9, 以外に条件が増えても管理しやすい方法を検討してみました。
import operator
generated_list = list(filter(lambda x: all(map(operator.not_,map(f'{x}'.__contains__, ('4', '9')))),range(680, 1200)))
print(generated_list)
こんなんでどうでしょうか?
url_list=[]
for i in range(680,1200,1):
str_i = str(i)
if '4' in str_i or '9' in str_i:
continue
url_list.append(i)
文字列に変更して,4か9が含まれていたらcontinueする実装です.
@genki-mii
Questioner