2016-10-15 5 views
1

私はPythonで文字列を分割したことがないので、ここで何が問題になっているのか分かりません。分割した文字列を分割できない型

import pyowm 

owm = pyowm.OWM('####################') 

location = owm.weather_at_place('Leicester, uk') 
weather = location.get_weather() 
weather.get_temperature('celsius') 
temperature = weather.get_temperature('celsius') 

print(temperature[5:10]) 

エラーが

sudo python weather.py 
Traceback (most recent call last): 
File "weather.py", line 10, in <module> 
print(temperature[5:10]) 
TypeError: unhashable type 
+1

あなたは 'temperature'が文字列であるという印象の下にありますか?それは文字列ではありません。それは私の言葉のように見えます。 – user2357112

+0

@ user2357112私は暗闇の中でPythonを使い始めています。ありがとうございます。ここから試してみてください。 – NathanK

+0

辞書を文字列に変換して辞書に入れないでください'注文は保証されておらず、ごみはごみ箱から出る可能性が高いです。 –

答えて

2

get_temperatureを受け取ったあなたがハッシュ可能ではありませんsliceオブジェクトとインデックスにしようとしている辞書を返します。例えば

>>> hash(slice(5, 10))                   
Traceback (most recent call last):                
    File "<stdin>", line 1, in <module>               
TypeError: unhashable type 

温度を取得するには、このような辞書からそれを取得する必要があります。

temperature['temp'] 
+0

ありがとう、それは今意味があります。私は辞書の種類を知らなかった、私はその時間を私のPythonの本を食器棚に入れると思う:D – NathanK