While the st.radio function doesn’t directly provide the selected index value, you can use Python’s index() method on the list of options.
import streamlit as st
options = [":rainbow[Comedy]", "***Drama***", "Documentary :movie_camera:"]
genre = st.radio(
"What's your favorite movie genre?",
options,
index=0,
)
st.write("You selected:", genre)
selected_index = options.index(genre)
st.write(f"Index of the selected genre is: {selected_index}")
Now, when you select an option, Streamlit will print both the selected genre and its index.
One possible way is using the indexes as options, then use the format_func argument to st.radio() to set the labels in the dropdown.
format_func(function)
Function to modify the display of radio options. It receives the raw option as an argument and should output the label to be shown for that option. This has no impact on the return value of the radio.