我想知道是否有將字符串轉換爲字典位置的預構建方式。我認爲示例代碼將是最簡單的解釋我想要做的事情。將字符串轉換爲Python中的字典位置
def main(locate_user_id):
response = {
"users": [{
"id": 1,
"name": "Joe"
}, {
"id": 2,
"name": "Bob"
}]
}
print(response)
print (locate_user_id)
print (response[locate_user_id])
if __name__ == "__main__":
main("users[1]['id']")
的這個輸出是目前:
{'users': [{'id': 1, 'name': 'Joe'}, {'id': 2, 'name': 'Bob'}]}
users[1]['id']
Traceback (most recent call last):
File "test_dict.py", line 17, in <module>
main("users[1]['id']")
File "test_dict.py", line 14, in main
print (response[locate_user_id])
KeyError: "users[1]['id']"
而且我正在尋找一個解決方案,將輸出這個:
{'users': [{'id': 1, 'name': 'Joe'}, {'id': 2, 'name': 'Bob'}]}
users[1]['id']
2 // the id of the user referenced above
你應該考慮重新設計你的代碼。這是糟糕的設計。 –
這裏有一些非常殘暴的答案。不要使用'eval',而是重新設計代碼,以便通過傳遞int來訪問數據。 – skrx