2016-12-07 6 views
0

私はリストを持っていると仮定します私が欲しいのは、この「ベッド」だけが入っているものをプリントすることです。Pythonは部分テキストの存在を確認リストの要素を印刷するのPython 3.5、Windows 7の

ウェブページからリストを削除し、リストの各要素をcsvに配置します。しかし、問題はすべてのリストが "ベッド"、次に "バス"、 "ルーム"の順であるとは限りません。また、リストに要素がない場合もあります。そのような場合、私は世話をしたNaNを与える必要があります。だから私は "ベッド"欄にのみ "3ベッド"を配置したいと思います。

誰かがこのコードを教えてくれますか?

if "beds" in list_elem.lower() 
if "beds" in list_elem.casefold() # only python3 

+0

list_elemで「ベッド」 それとも、より良い場合は、あなたのリストと のようなテストなもので、あなたのループすることはできません:list_elem.lowerの「ベッド」であれば() – Axnyff

+0

*は未定義名「list_elem」私を示し* –

+0

申し訳ありませんが私のリストはリスト= [3ベッド、2バス、3部屋]のようです。だから3ベッドはストリングでもありません。 –

答えて

1

はあなたのリストとテストであなたのループ

if "Beds" in list_elem 

それとも、より良いような何かをすることはできませんか?

だから

for list_elem in l: 
    if "beds" in list_elem.lower(): 
     #do stuff 
+1

このアプリケーションでは多分問題ではありませんが、大文字と小文字を区別しない比較のために '.lower()'の代わりに '.casefold()'を使うべきです。 [参考リンク](https://docs.python.org/3/library/stdtypes.html#str.casefold) – trentcl

+0

これについて知りませんでした。 – Axnyff

+0

は私に*未定義の名前 "list_elem"を表示します* –

0
bed = np.NaN 
    for list_elem in list: 
     if "Beds" in list_elem.casefold(): 
      try: 
       bed = list_elem 
      except: 
       pass 

=プリント(ベッド)のようなものは - >これは、今ではforループの中にあったとして渡されたベッドの名前を忘れてしまいました。だから私はこれをどのように解決するのですか?

+0

ここにはこのループの名前しか保存されていません。皆さんありがとう :) –

関連する問題