У меня есть список, содержащий:
NewL = [(1.1,[01,02]),(1.2,[03,04]),(1.3,[05,06])]
И я использовал перечисление для получения списка, как указано выше, где квадратные скобки, содержащие [01,02], [03,04] и [05,06], как правило, получены из другого списка. Я покажу это на всякий случай:
L = [[01,02],[03,04],[05,06]]
И изначально список вывода просто:
OutputList = [1.1,1.2,1.3]
Я использовал перечисление в обоих списках, чтобы получить то, что у меня есть в качестве первого списка, который я написал выше.
Проблема, с которой я сейчас сталкиваюсь, скажем, я хочу вывести только значение для [05,06], которое составляет 1,3 от NewL. Как бы я это сделал? Я думал о чем-то вроде:
for val in NewL:
if NewL[1] == [05,06]:
print NewL[0]
Но это совершенно неверно, так как случаи могут меняться там, где это не обязательно, всегда должно быть [05,06], так как оно может также получать значение для [03,04] и [01,02]. Я довольно новичок в использовании enumerate, поэтому буду признателен за любую помощь в этом.
2 ответа
Цикл for должен выглядеть так:
for val in NewL:
if val[1] == [5,6]:
print val[0]
Он напечатает 1.3
Я не уверен, что понимаю вопрос, поэтому я экстраполирую то, что вам нужно:
Учитывая ваши 2 начальных списка:
L = [[01,02],[03,04],[05,06]]
OutputList = [1.1,1.2,1.3]
Вы можете создать свой преобразованный список, используя:
NewL = list(zip(OutputList, L))
Затем, учитывая 1 элемент из L
, если вы хотите получить значение из OutputList
:
val = [x for x, y in NewL if y == [05,06]][0]
Но было бы намного проще сделать это:
val = OutputList[L.index([05,06])]
Обратите внимание, что оба эти выражения будут вызывать IndexError
, если искомый элемент не найден
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.