Как получить доступ к значениям в orderdict? - PullRequest
0 голосов
/ 12 марта 2020

Я открыл и прочитал CSV-файл из argv в словарь

data = open(argv[1])
reader = csv.DictReader(data)
dict_list = []
for line in reader:
    dict_list.append(line)

, и теперь, когда я хочу получить доступ к содержимому CSV-файла, вот так:

for x in dict_list[0]:
    print(x)

Все, что я получаю это:

"OrderedDict([('name', 'Alice'), ('AGATC', '2'), ('AATG', '8'), ('TATC', '3')])"

С помощью этой функции:

for x in dict_list[0]:
    print(x)

Я получаю такой результат:

name
AGATC
AATG
TATC

Можете ли вы помочь мне получить доступ к «Алисе», ' 2 ',' 8 'и' 3 '.

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

Я создал свой OrderedDict dict_list словарь, и теперь я могу получить доступ к значениям ключей:

for x in dict_list:
    temp  = dict(x)
    for y in types_count:
        print(temp.get(y))
0 голосов
/ 12 марта 2020

Вы можете перебирать словарь несколькими способами.

давайте инициализируем словарь с вашими значениями:

from collections import OrderedDict
dict_list = OrderedDict([('name', 'Alice'), ('AGATC', '2'), ('AATG', '8'), ('TATC', '3')])

, что дает нам:

OrderedDict([('name', 'Alice'), ('AGATC', '2'), ('AATG', '8'), ('TATC', '3')])

you затем можно выполнить итерацию по каждому ключу, а затем запросить приложенное значение:

for k in dict_list:
    print(f"key={k}, value={dict_list[k]}")

, и вы получите:

key=name, value=Alice
key=AGATC, value=2
key=AATG, value=8
key=TATC, value=3

или вы можете получить ключ и значение одновременно время:

for (k, v) in dict_list.items():
    print(f"key={k}, value={v}")

, которое даст вам тот же результат:

key=name, value=Alice
key=AGATC, value=2
key=AATG, value=8
key=TATC, value=3
...