2 回答

TA貢獻1798條經驗 獲得超7個贊
如果您打印string_dict,您會注意到問題:
string_dict = {A:"A", B:"B", C:"C", D:"D", E:"E", F:"F"}
print(string_dict)
# output: {'': 'E', 'ABD': 'B', 'sddd': 'D', 'dsas': 'F'}
它包含一個值為 的條目""。
這是因為你將多個值關聯到同一個鍵,而這在 python 中是不可能的,所以只有最后一個賦值是有效的(在這種情況下E:"E")。
如果要將多個值與同一個鍵關聯,可以關聯一個列表:
string_dict = {A:["A","C","E"], B:"B", D:"D", F:"F"}
關于字符串列表string_list,您得到 0,因為該方法.index(item)返回列表中第一次出現的索引item。在您的情況下為 0。例如,如果您將列表更改[A,B,C,D,E,F]為[B,B,C,D,E,F]. 您的代碼將打印2.
如果要打印列表中空字符串的索引:
for index, value in enumerate(string_list):
if value == '':
print(index)
或者以更優雅的方式,您可以使用列表推導:
[i for i,x in enumerate(string_list) if x=='']

TA貢獻1111條經驗 獲得超0個贊
好吧,我不認為有辦法從字典中得到你想要的,因為它們是如何工作的。你可以打印你的字典,看看它看起來像這樣:
{'': 'E', 'ABD': 'B', 'sddd': 'D', 'dsas': 'F'}
這里發生的事情是 A 被 C 覆蓋,然后被 E 覆蓋。
但是我玩弄了這個列表,這就是我正確獲得最后三位數字的方法:
for item in string_list:
if item != '':
print(string_list.index(item) - 1)
這打?。?/p>
0
2
4
添加回答
舉報