2015-04-09 2 views
0

Я задал предыдущий вопрос и получил отличный ответ: как назначить элементы в вложенных списках переменную автоматически в Python 2.7? сделать следующее, когда он пришел к расклеиванию выхода:Как отформатировать список в Python 2.7?

Предыдущего вопрос:

nList = [[0,0,0],[3,2,1]],\ [[]],\ [[100,1000,110]],\ [[0,0,0],[300,400,300],[300,400,720],[0,0,120],[100,0,1320],[30,500,1450]] 

мне нужно назначить автоматические переменные элементы перед каждым «\». для пример, расстояние1 = [[0,0,0], [3,2,1]], distance2 = [[]], distance3 = [[100,1000,110]] и т. д. Однако это необходимо для быть автоматическим для каждого distance'n», а не мне принимать индексы от mList и присвоения их переменной distance'n

Теперь мне нужно форматировать переменные distanceN так, что попытка напечатать distance4, например, даст выход:

>>0 metres, 0 metres, 0 seconds 
>>300 metres, 400 metres, 300 seconds 
>>300 metres, 400 metres, 720 seconds 
>>0 metres, 0 metres, 120 seconds 
>>100 metres, 0 metres, 1320 seconds 
>>30 metres, 500 metres, 1450 seconds 

Любая помощь была бы принята с благодарностью. Спасибо.

+0

Ответ вы получили не очень хорошо. Вы уже знаете, как использовать формат, чтобы вы могли использовать это, чтобы делать то, что хотите. Прочтите документацию для str.format. –

+0

Ответ у вас был ужасный. Ответ, который вы * должны получить, состоит в том, что ваша переменная 'mList' уже сделала все ваши нумерованные переменные, но лучше. В частности, модификации «locals» обычно ничего не делают для локальных переменных функции! – user2357112

+0

Это был я, который дал плохой ответ, и я обновил свой предыдущий ответ, чтобы удалить оскорбительную часть ... Я также предположил, что если OP должен ссылаться на разные части mList по имени, чтобы использовать словарь, например. dist ['distance1'] == mlist [0] – AChampion

ответ

1

Нет необходимости конвертировать nList в нечто; а не в именованные переменные, а не в словарь. Он отлично работает как кортеж (кстати, это не список - это набор списков). Вместо этого вы можете назвать его distances.

distances = [[0,0,0],[3,2,1]], [[]], [[100,1000,110]], [[0,0,0],[300,400,300],[300,400,720],[0,0,120],[100,0,1320],[30,500,1450]] 

# "distance4" accessed by index 3 in tuple 
for distance in distances[3]: 
    print '{} metres, {} metres, {} seconds'.format(*distance) 

Выход

 
0 metres, 0 metres, 0 seconds 
300 metres, 400 metres, 300 seconds 
300 metres, 400 metres, 720 seconds 
0 metres, 0 metres, 120 seconds 
100 metres, 0 metres, 1320 seconds 
30 metres, 500 metres, 1450 seconds 
+0

Привет @mhawke. Спасибо за ответ! Точная программа, которую я пытаюсь написать, заключается в том, что если пользователь набирает «расстояние печати1», программа должна быть гибкой и производить
0 метров, 0 метров, 0 секунд

3 метра, 2 метра, 1 секунда и так далее растояние2, дистанция3, дистанция4. Итак, как мне написать программу для расстояния на расстояниях [''], где расстояние может быть целым числом пользователей, выбирающих? – Jayden

Смежные вопросы