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