我知道我可以像這樣將元組串列轉換為字典
list_of_tuples = [("k", 167), ("z", 179), ("u", 179), ("m", 267), ("a", 445), ("l", 134)]
new_dict = {}
new=dict{list_of_tuples}
print(new)
#{'k': 167, 'z': 179, 'u': 179, 'm': 267, 'a': 445, 'l': 134}
但是當我讓用戶輸入這個
[("k", 167), ("z", 179), ("u", 179), ("m", 267), ("a", 445), ("l", 134)]作為字串時該怎么辦
用戶在行中作為字串輸出的內容
([("k", 167), ("z", 179), ("u", 179), ("m", 267), ("a", 445), ("l", 134)])
我嘗試使用 Json 轉換為 dict 但不能因為它的元組串列
uj5u.com熱心網友回復:
如果字串以 JSON 格式提供,您應該使用json.loads(user_input)它來將其轉換為可以輕松轉換的串列串列dict()
import json # import json module
data = [("k", 1), ("b", 3)]
user_input = json.dumps(data) # fake the user input
dic = dict(json.loads(user_input)) # convert user input to python object
print(dic)
>>> {'k': 1, 'b': 3}
uj5u.com熱心網友回復:
首先,將字串轉換為串列,然后您可以像這樣進行字典理解:
import ast
my_list = ast.literal_eval("[("k", 167), ("z", 179), ("u", 179), ("m", 267), ("a", 445), ("l", 134)]")
d = {k:v for k,v in my_list}
uj5u.com熱心網友回復:
你有幾個選擇:
def Convert(tup, di):
di = dict(tup)
return di
# Driver Code
tups = [("k", 167), ("z", 179), ("u", 179), ("m", 267), ("a", 445), ("l", 134)]
dictionary = {}
print (Convert(tups, dictionary))
輸出:
{'k': 167, 'z': 179, 'u': 179, 'm': 267, 'a': 445, 'l': 134}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/418703.html
標籤:
