我可以传递两个条件来在同一个字典中构建 key/value 对吗?
Can I pass two conditionals to build a key/value pair in the same dictionary?
我有两个 if 语句需要 运行 才能获得构建字典所需的所有信息。我有一个文本文件 'file.txt',其中的值由行分隔。我的代码的基本表示如下:
dict = {}
for line in 'file.txt':
line = line.strip()
if line.startswith('Key: '):
key = print(line)
此时我需要另一个 if 语句来获取需要与我刚刚定义的 'key' 配对的值:
elif line.startswith('Value: '):
value = print(line)
现在我需要更新字典,但我超出了范围,我不知道如何将 key
和 value
绑定在同一个字典中,其值已获得通过逐行检查 'file.txt'
以确保键与正确的值配对。有没有办法做到这一点?
文件(打开时)看起来像一个由换行符分隔的列表:"Filename: name, Size: 200MB, Version: 2.2.2, etc..."
这种模式重复出现。所以我需要抓取 'Filename',跳过 'Size',抓取 'Version',并将两者放在一起作为 key/value 对。
找到钥匙。继续寻找,直到找到一个值。如果您的数据文件是一个简单的交替,则此代码中的 "None" 内容无关紧要。如果您在这方面有间歇性错误,您可以利用 "None"
dict = {}
infile = open("in", 'r')
for line in infile:
line = line.strip()
line = line.split(',')
print "line: ", line
for field in line:
field = field.strip()
print "field:", field
if field.startswith('Filename: '):
key = field.split(':')[1]
value = None
elif field.startswith('Version: '):
value = field.split(':')[1]
if key is not None:
dict[key] = value
value = None
key = None
print dict
这是输出,给定您的输入行:
line: ['Filename: name', ' Size: 200MB', ' Version: 2.2.2']
field: Filename: name
field: Size: 200MB
field: Version: 2.2.2
{' name': ' 2.2.2'}
我有两个 if 语句需要 运行 才能获得构建字典所需的所有信息。我有一个文本文件 'file.txt',其中的值由行分隔。我的代码的基本表示如下:
dict = {}
for line in 'file.txt':
line = line.strip()
if line.startswith('Key: '):
key = print(line)
此时我需要另一个 if 语句来获取需要与我刚刚定义的 'key' 配对的值:
elif line.startswith('Value: '):
value = print(line)
现在我需要更新字典,但我超出了范围,我不知道如何将 key
和 value
绑定在同一个字典中,其值已获得通过逐行检查 'file.txt'
以确保键与正确的值配对。有没有办法做到这一点?
文件(打开时)看起来像一个由换行符分隔的列表:"Filename: name, Size: 200MB, Version: 2.2.2, etc..."
这种模式重复出现。所以我需要抓取 'Filename',跳过 'Size',抓取 'Version',并将两者放在一起作为 key/value 对。
找到钥匙。继续寻找,直到找到一个值。如果您的数据文件是一个简单的交替,则此代码中的 "None" 内容无关紧要。如果您在这方面有间歇性错误,您可以利用 "None"
dict = {}
infile = open("in", 'r')
for line in infile:
line = line.strip()
line = line.split(',')
print "line: ", line
for field in line:
field = field.strip()
print "field:", field
if field.startswith('Filename: '):
key = field.split(':')[1]
value = None
elif field.startswith('Version: '):
value = field.split(':')[1]
if key is not None:
dict[key] = value
value = None
key = None
print dict
这是输出,给定您的输入行:
line: ['Filename: name', ' Size: 200MB', ' Version: 2.2.2']
field: Filename: name
field: Size: 200MB
field: Version: 2.2.2
{' name': ' 2.2.2'}