2015-05-06 4 views
2

У меня есть этот список:Python 3.4 список, чтобы выполнять различные задания

list1 = [ 
     'aapl':'apple', 
     'tgt':'target', 
     'nke':'nike', 
     'mcd':'Mc Donald', 
     'googl':'google', 
     'yhoo':'yahoo', 
     'rl':'Polo Ralph lauren' 
     ] 

Я хочу, чтобы выполнить эту

q = 0 
while q < len(list1): 
    code_to_be_executed 
    q = q+1 

Но только на 1-й части (AAPL, TGT, NKE, MDC, Р.Л. , yhoo и т. д.), а вторая часть (название компании как google, yahoo, polo ralph lauren и т. д.) будет напечатано примерно так: nke = nike пользователю Проблема заключается в выполнении задачи q все, даже для названия компании, которое не то, что я хочу) Я знаю, что я мог бы разделять сокращения и название компании в два разных списка, но как я могу напечатать его, как nke = Nike comp. ? Большое спасибо

+1

Прежде всего; синтаксис ошибочен. Вы описываете '' dict() '' здесь действительно, за исключением того, что вам не хватает фигурных скобок *. –

+0

@james Mills Я редактирую его, спасибо за головы –

+0

Предполагаются ли они теперь кортежи в списке? Если это так, синтаксис все еще неверен. Здесь вам нужно уточнить структуру данных. – Oka

ответ

4

То, что я верю, что вы пытаетесь сделать, это основная печать структуры данных ключ/значение (называется dict в Python):

Пример:

data = { 
    'aapl': 'apple', 'tgt': 'target', 'nke': 'nike', 'mcd': 'Mc Donald', 
    'googl': 'google', 'yhoo': 'yahoo', 'rl': 'Polo Ralph lauren' 
} 

for k, v in data.items(): 
    print("{0:s}={1:s}".format(k, v)) 

Какие выходы:

$ python app.py 
nke=nike 
tgt=target 
aapl=apple 
mcd=Mc Donald 
rl=Polo Ralph lauren 
yhoo=yahoo 
googl=google 

Обновление: Если вы все еще хотите сделать это с помощью цикла while с вариантом q, тогда ваша структура данных должна быть «список кортежей» - где каждый «набор» - это пара ключей/значений. например: [(1, 2), (3, 4)]

Пример: (на основе кода более или менее)

data = [ 
    ('aapl', 'apple'), 
    ('tgt', 'target'), 
    ('nke', 'nike'), 
    ('mcd', 'Mc Donald'), 
    ('googl', 'google'), 
    ('yhoo', 'yahoo'), 
    ('rl', 'Polo Ralph lauren)') 
] 

q = 0 # counter 
while q < len(data): 
    k, v = data[q] # assign and unpack each tuple (key, value) 
    print("{0:s}={1:s}".format(k, v)) 
    q += 1 

NB: Эта структура данных в основном то же самое, за исключением, что вы теряете преимущества быть в состоянии do O(1) поиск. Словари/сопоставления больше подходят для такого рода структуры данных, особенно я намерен выполнять поисковые базы дон-ключей.

+0

Это просто 'items' в Python 3. – tzaman

+0

Да это :) Спасибо! –

+0

@James Mills, но что мне изменить на q = 0 , а q

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