我正在使用pymarc库。我的问题是,如何处理一个变量的多个实例,要么构建一个列表,要么以其他方式遍历它们?
可以通过将字段号添加到record
变量来访问MARC字段。例如,我在一条记录中有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语法甚至无法在网上搜索正确的内容。
最佳答案
您需要一个字典,您可以在其中将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
关于python - Python:如何通过变量的多个实例创建列表/迭代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35802181/