Python: как создать список / перебрать несколько экземпляров переменной

Я работаю с библиотекой pymarc. Мой вопрос заключается в том, как мне иметь дело с несколькими экземплярами переменной, или составлением списка, или иным образом итерируя их?

Доступ к полю MARC можно получить, добавив номер поля к record переменная. Например, у меня есть три экземпляра поля 856 в одной записи, к которому можно получить доступ как record['856'], Но только первый экземпляр пройден.

присвоение переменной record['856'][0] или же record['856'][1] и т.д., не работает.

Я попытался создать список, который показан ниже, но это не сработало

from pymarc import MARCReader

with open('file.mrc', 'rb') as fh:
    reader = MARCReader(fh)
    for record in reader: 
            """get all 856 fields  -- delete unwanted 856 fields
            =856  40$uhttp://url1.org
            =856  40$uhttp://url2.org
            =856  40$uhttp://url3.org
            """
                eight56to956s = []
                eight56to956 = record['856']
                eight56to956s.append(eight56to956)
                print eight56to956s

Я знаю, как бы это сделать в php, но я не разбираюсь в синтаксисе python, чтобы даже искать в Интернете правильные вещи.

1 ответ

Решение

Вам нужен словарь, в котором вы можете установить 856 в качестве ключа, а затем список значений, которые вы хотите пометить в 856

your_856 = {856: ['=856  40$uhttp://url1.org', '=856  40$uhttp://url2.org', '=856  40$uhttp://url3.org']}

Теперь вы можете получить доступ к значениям, как с indexВот пример

print(your_856[856][1])

это выводы

=856  40$uhttp://url2.org
Другие вопросы по тегам