Python
1 lst = list ( H12 )
2
3 list_in = [ i for i in lst if "i" in i or "I" in i ]
4 print ( list_in )
5 # ['Whiteberry', 'aiko', 'Ishihara junko', 'Nakamura Mitsuko', 'Godai Natsuko', 'Fuji Ayako', 'Evely Little Thing', 'Harada Yuri', 'Morning Musume', 'Sakamoto Fuyumi', 'Kouzai Kaori', 'Hamasaki Ayumi', 'Suzuki Ami', 'hitomi', 'Koyanagi Yuki', 'Matsuda Seiko', 'Yashiro Aki', 'Pink Lady', 'Kawanaka Miyuki', 'Kobayashi Sachiko', 'Yuki Saori', 'Yasuda Sachiko', 'Ishikawa Sayuri', 'Amuro Namie', 'Wada Akiko', 'Tendo Yoshimi', 'Fujii Takashi', 'Porno Graffitti', 'Oizumi itsurou', 'TOKIO', 'Yamamoto joji', 'Sada Masashi', 'Saijo Hideki', 'Toba Ichiro', 'Hirai Ken', 'Yoshi Ikuzo', "L'Arc~en~Ciel", 'Hikawa Kiyoshi', 'Mikawa Kenichi', 'Fuse Akira', 'Maekawa Kiyoshi', 'Alice', 'Mori Shinichi', 'Go Hiromi', 'Nishikiori Ken', 'Hosokawa Takashi', 'Kitajima Saburo', 'Itsuki Hiroshi']
6 ```` or `は
7 ` < 条件 > or < 条件 > `と書きます。どちらかが` True `だと` True `が返ります。
8 ` "i" or "I" in i`だと、` "i" `は空文字列ではない つまり True なのでいつも True になってしまいます。
9
10 - - - - - - - おまけ - - - - - - -
11 リスト内包表記で` if `文をごちゃごちゃにしたら分かりにくいので` . lower ( ) `で全部小文字にするのもアリ。
12 ```Python
13 lst = list ( H12 )
14
15 list_in = [ i for i in lst if "i" in i . lower ( ) ]
16 print ( list_in )
17 # ['Whiteberry', 'aiko', 'Ishihara junko', 'Nakamura Mitsuko', 'Godai Natsuko', 'Fuji Ayako', 'Evely Little Thing', 'Harada Yuri', 'Morning Musume', 'Sakamoto Fuyumi', 'Kouzai Kaori', 'Hamasaki Ayumi', 'Suzuki Ami', 'hitomi', 'Koyanagi Yuki', 'Matsuda Seiko', 'Yashiro Aki', 'Pink Lady', 'Kawanaka Miyuki', 'Kobayashi Sachiko', 'Yuki Saori', 'Yasuda Sachiko', 'Ishikawa Sayuri', 'Amuro Namie', 'Wada Akiko', 'Tendo Yoshimi', 'Fujii Takashi', 'Porno Graffitti', 'Oizumi itsurou', 'TOKIO', 'Yamamoto joji', 'Sada Masashi', 'Saijo Hideki', 'Toba Ichiro', 'Hirai Ken', 'Yoshi Ikuzo', "L'Arc~en~Ciel", 'Hikawa Kiyoshi', 'Mikawa Kenichi', 'Fuse Akira', 'Maekawa Kiyoshi', 'Alice', 'Mori Shinichi', 'Go Hiromi', 'Nishikiori Ken', 'Hosokawa Takashi', 'Kitajima Saburo', 'Itsuki Hiroshi']
######-------追記-------
すみません502エラーが出まくって遅くなりました。
まず、
list_inにて抽出したものの中からさらに文字列の2番目にiかIがあるもののみ抽出する
二番目にi
かI
があるんだからi
かI
が入っているのは絶対なので、二番目にi
かI
があるものを抽出すればよいですね。magichan 様も回答されてましたが、
2番目というのはindex番号1なので
Python
1 lst = list ( H12 )
2
3 list_in = [ i for i in lst if i [ 1 ] . lower ( ) == 'i' ]
4 print ( list_in )
5 ```とする。しかし、このままだと`i`が 1 文字の時にエラーが出るので
6 ```Python
7 list_in = [ i for i in lst if len ( s ) > 1 and i [ 1 ] . lower ( ) == 'i' ]
8 ```とかにする必要があります。
9 また、
10 ```Python
11 list_in = [ i for i in lst if len ( s ) > 1 and i [ 1 ] in [ 'i' , 'I' ] ]
12 ````i`のに文字目が` [ 'i' , 'I' ] `というリストの中に入っているかとかでもよい。
13
14 - - -
15 あと ** magichan ** 様も言っていましたが` list `はPythonの組み込み関数なので、
list = [1, 2, 3]
a = (2, 3, 4)
a = list(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/12 11:33