我正在嘗試從字典創建多個列表。例如:dict_ = {'one': 1, 'two': 2, 'three': 3, 'four': 4}
list_1 = [k for k, v in dict_.items()]
list_2 = [v for k, v in dict_.items()]上面的方法有效,但我試圖找出是否有一個襯墊可以創建 list_1 和 list_2 而不是重復相同的“for”循環兩次?
2 回答

三國紛爭
TA貢獻1804條經驗 獲得超7個贊
如果你真的想的話,你可以嘗試多重分配:
list_1,?list_2?=?list(dict_.keys()),?list(dict_.values())
或者你可以使用單個 listcomp
list_1,?list_2?=?[list(tup)?for?tup?in?zip(*dict_.items())]
或者如果你感覺功能齊全,你可以嘗試
list_1,?list_2?=?map(list,?zip(*dict_.items()))
但可讀性很重要,簡單比復雜更好,所以兩行單獨的行可能是更好的方法

郎朗坤
TA貢獻1921條經驗 獲得超9個贊
dict_ = {'one': 1, 'two': 2, 'three': 3, 'four': 4} list_1, list_2 = list(dict_.keys()), list(dict_.values())
添加回答
舉報
0/150
提交
取消