我從兩個串列中創建了一個字典。我正在嘗試更新存盤在字典中的值。我在 for 回圈中使用了 if 陳述句來過濾我想要修改的行,現在想要更改這些行的 dict 值。我想將帶有字串“Note Holder”的dict值更改為相應的姓氏“{Family Name} Family。所以我想用new_names(“空白”系列)更新字典中的名稱(Note Holder)。 這是我的代碼:
data = pd.read_excel('mailclean.xlsx')
ran = range(len(data))
tes = list(data.iloc[0:len(data)]['Column1'])
tes1 = list(data.iloc[0:len(data)]['Column2'])
dic = {}
for a in ran:
dic[tes[a]] = tes1[a]
for new_name in tes:
if "Family Trust" in new_name:
name = dic.get(new_name)
new_name = "The " new_name[:-6]
print(new_name)
print(name)
這是終端輸出:
The Guerland Family
Note Holder
The Sciammas Family
Note Holder
The Hsu Family
Note Holder
The Hemingway Family
Note Holder
The Williams Family
Note Holder
The Svancara Family
Note Holder
The Schritter Family
Note Holder
The Meola Family
Note Holder
The Scipione Family
Note Holder
The Elmore Family
Note Holder
The Oeland Family
Note Holder
The Harmsen Family
Note Holder
The Mauger Family
Note Holder
The Hockema Family
Note Holder
The Vogl Family
Note Holder
The McKee Family
Note Holder
The Davis Family
Note Holder
The Katz Family
Note Holder
The Grewal Family
Note Holder
The Penner Family
Note Holder
The Johnson Family
Note Holder
The Johnson Family
Note Holder
The Johnson Family
Note Holder
The Nemeth Family
Note Holder
The Horan Family
Note Holder
The Quan Family
Note Holder
The Elliott Family
Note Holder
The Clay Family
Note Holder
The Edwards Family
Note Holder
The Smith Family
Note Holder
The Rau Family
Note Holder
The Barter Family
Note Holder
The Lyon Family
Note Holder
The Scheiber Family
Note Holder
The Betzing Family
Note Holder
The Porter Family
Note Holder
The Eller Family
Note Holder
The Sebring Family
Note Holder
我想將帶有字串“Note Holder”的dict值更改為相應的姓氏“{Family Name} Family。所以我想用new_names(“空白”系列)更新字典中的名稱(Note Holder)。
uj5u.com熱心網友回復:
好的,正如所寫,您正在丟棄重要資訊。
for new_name in tes:
if "Family Trust" in new_name:
name = dic.get(new_name)
new_name = "The " new_name[:-6]
print(new_name)
print(name)
該new_name變數是您在字典中的唯一位置,并且您將其更改為其他內容,從而失去了您的位置。
更改持有密鑰的變數沒有任何意義。您想更改存盤在該鍵上的值,這只是另一個分配,與您最初用于將值放在那里的分配完全相同:
for name in dic:
if "Family Trust" in name:
dic[name] = "The " name[:-6]
實際上,您可以通過修改創建 dict 的原始回圈來完成它:
for a in ran:
if "Family Trust" in tes[a]:
dic[tes[a]] = "The " tes[a][:-6]
else:
dic[tes[a]] = tes1[a]
uj5u.com熱心網友回復:
如果我理解正確,您首先創建了一個字典,其中鍵是陣列中的元素,tes值tes1在相應的陣列索引中。然后,您希望在給定特定條件(您的 if 陳述句)的情況下,將值(即 from tes1)從Note Holder更改為The {Family Name} Family?
也許是這樣的:
for name in tes:
if "Family Trust" in name:
new_name = "The " name[:-6]
dict[new_name] = new_name
鑒于我理解您的問題,您可以像這樣直接更新字典值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/495154.html
下一篇:Trie使用了太多記憶體
