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