Python蒸汽选择框菜单返回字符串,但我需要字典或列表



Stack在这种情况下,Python steamlit选择框菜单返回字符串,但我需要字典或列表,以便在代码中进一步使用它。我想在下拉菜单中看到company1, company2, company3,如果用户的选择是'company2',则获取['ID': 'zxc222’, 'NAME': 'company2','DESC': 'comp2']

BaseObject = [{
'ID': 'zxc123',
'NAME': 'company1',
'DESC': 'comp1'
}, {
'ID': 'zxc222',
'NAME': 'company2',
'DESC': 'comp2'
}, {
'ID': 'zxc345',
'NAME': 'company3',
'DESC': 'comp3'
}]
lenbo = len(BaseObject)
options = []
for i in range(0, lenbo):
options.append((BaseObject[i])['NAME'])
st.selectbox('Subdivision:', options)

您可以在selectbox之后进行dict转换:

import streamlit as st
BaseObject = [{
'ID': 'zxc123',
'NAME': 'company1',
'DESC': 'comp1'
}, {
'ID': 'zxc222',
'NAME': 'company2',
'DESC': 'comp2'
}, {
'ID': 'zxc345',
'NAME': 'company3',
'DESC': 'comp3'
}]
lenbo = len(BaseObject)
options = []
for i in range(0, lenbo):
options.append((BaseObject[i])['NAME'])
choice = st.selectbox('Subdivision:', options)
chosen_base_object = None
for base_object in BaseObject:
if base_object["NAME"] == choice:
chosen_base_object = dict(base_object)
print(chosen_base_object)  # {'ID': 'zxc345', 'NAME': 'company3', 'DESC': 'comp3'}

最新更新