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

10-10 21:24