python:如何通过变量的多个实例创建列表of/iterate

python: how to create list of/iterate through multiple instances of a variable

我正在使用 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