我想定義一個函式,它將文本檔案的表作為字典讀取,然后將其用于回傳特定值。鍵是化學符號(如氦的“He”,......)。這些值回傳其特定的原子質量。我不明白,我該怎么辦...
文本檔案的前五行內容如下:
H,1.008
他,4.0026
李,6.94
是,9.0122
乙,10.81
這是我的嘗試:(我不知道在哪里放置引數鍵以便我可以定義它)
def read_masses():
atom_masses = {}
with open["average_mass.csv") as f:
for line in f:
(key, value) = line.split(",")
atom_masses[key] = value
return(value)
m = read_masses("average_mass.csv)
print(m["N"]) #for the mass of nitrogen ```
uj5u.com熱心網友回復:
一旦呼叫了 return,它下面的代碼就不會執行。您需要回傳的是atom_massesnotvalue并且您必須將它放在 for 回圈之外
def read_masses(file):
atom_masses = {}
with open(file) as f:
for line in f:
(key, value) = line.split(",")
atom_masses[key] = value
return (atom_masses)
m = read_masses("average_mass.csv")
print(m["H"])
>>> 1.008
uj5u.com熱心網友回復:
嘗試:
def read_masses(name):
data = {}
with open(name, "r") as f_in:
for line in map(str.strip, f_in):
if line == "":
continue
a, b = map(str.strip, line.split(",", maxsplit=1))
data[a] = float(b)
return data
m = read_masses("your_file.txt")
print(m.get("He"))
印刷:
4.0026
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/488119.html
上一篇:Python嵌套字典追加
下一篇:將串列更改為字典中的資料框
