Если вы обнаружите, что храните много таких переменных, особенно если они связаны между собой, почти наверняка есть лучший способ сделать это.Динамическое изменение источника никогда не является решением.Одним из способов является использование функции для сохранения повторяющейся логики и использование namedtuple
для хранения результирующих данных:
import collections
Data = collections.namedtuple('Data', 'mean, std, lower_lim, upper_lim')
def get_data(key, sample_dataframe_summary):
mean = sample_dataframe_summary[key][1]
std = sample_dataframe_summary[key][2]
lower_lim = mean - std
upper_lim = mean + std
return Data(mean, std, lower_lim, upper_lim)
zcr = get_data('ZCR', sample_dataframe_summary)
rms = get_data('RMS', sample_dataframe_summary)
tempo = get_data('Tempo', sample_dataframe_summary)
beat_spacing = get_data('Beat Spacing', sample_dataframe_summary)
, тогда вы можете получить доступ к данным с помощью обозначения .
, например zcr.mean
и tempo.upper_lim