Я хотел бы кодировать со следующей таблицейКакая структура данных используется в python для кодирования таблицы с двумя столбцами?
я имею в виду иметь функцию, где можно ввести, например, «тропической зоне», а затем, чтобы вернуть мне n = 0.8
и n1 = 0.9
я думал сделать используй словарь. Является ли это наиболее подходящей структурой данных для использования в этом случае?
def navigationcoefficients (type,key):
if type == 'n':
dict = {'unrestricted navigation': 1, 'summer zone': 0.9, 'tropical zone': 0.8, 'coastal zone': 0.8, 'sheltered area': 0.65}
return dict[key]
if type == 'n1':
dict = {'unrestricted navigation': 1, 'summer zone': 0.95, 'tropical zone': 0.9, 'coastal zone': 0.9, 'sheltered area': 0.65}
return dict[key]
n = navigationcoefficients('n','unrestricted navigation')
n1 = navigationcoefficients('n1','unrestricted navigation')
Заранее спасибо
Nope. Используйте что-то из [numpy] (https://docs.scipy.org/doc/numpy-1.10.1/user/basics.rec.html), или если вы хотите: [pandas] (http: //pandas.pydata .org /). Ofc также зависит от вашего прецедента и шаблонов доступа, которые вы не описали. – sascha
вы можете использовать вложенный словарь, чтобы избавиться от функции 'navigationcoefficients'. Pandas может быть излишним для таблицы такого размера, но упрощает более сложные запросы ... – elcombato
Согласитесь с elcombato, вложенный словарь будет хорошей идеей. Для таблиц больших размеров панды могли бы сделать трюк. Другая идея: список словарей, в которых каждый словарь имеет ключи «обозначение», «коэф. N» и «коэф. N0». – Elmex80s