需要帮助在python中创建键值对吗

需要帮助在python中创建键值对吗,python,dictionary,key-value,Python,Dictionary,Key Value,我有以下代码: while i<len(line): if re.findall(pattern, line[i]): k,v = line[i].split('=') print k token = dict(k=v) print token break 如何使这几行代码变得更好,并使字典看起来像这样: {'ptk': 'ptk_first'}

我有以下代码:

   while i<len(line):
        if re.findall(pattern, line[i]):
            k,v = line[i].split('=')
            print k
            token = dict(k=v)
            print token
            break
如何使这几行代码变得更好,并使字典看起来像这样:

{'ptk': 'ptk_first'}
lines="""\
key1=data on the rest of line 1
key2=data on the rest of line 2
key3=data on line 3"""

d={}
for line in lines.splitlines():
    k,v=line.split('=')
    d[k]=v

print d 
对于您的代码:

for line in lines:
    if re.findall(pattern, line):
        token = dict([line.split("=")])
        print token
对于您的代码:

for line in lines:
    if re.findall(pattern, line):
        token = dict([line.split("=")])
        print token
大概是这样的:

{'ptk': 'ptk_first'}
lines="""\
key1=data on the rest of line 1
key2=data on the rest of line 2
key3=data on line 3"""

d={}
for line in lines.splitlines():
    k,v=line.split('=')
    d[k]=v

print d 
大概是这样的:

{'ptk': 'ptk_first'}
lines="""\
key1=data on the rest of line 1
key2=data on the rest of line 2
key3=data on line 3"""

d={}
for line in lines.splitlines():
    k,v=line.split('=')
    d[k]=v

print d 

使用regex,您可以尝试以下方法:

>>> import re
>>> lines="""
... ptk=ptk_first
... ptk1=ptk_second
... """
>>> dict(re.findall('(\w+)=(\w+)',lines,re.M))
{'ptk1': 'ptk_second', 'ptk': 'ptk_first'}

使用regex,您可以尝试以下方法:

>>> import re
>>> lines="""
... ptk=ptk_first
... ptk1=ptk_second
... """
>>> dict(re.findall('(\w+)=(\w+)',lines,re.M))
{'ptk1': 'ptk_second', 'ptk': 'ptk_first'}

为什么在这里使用
循环?你甚至都没有进步
i
。请给出一个完整的示例,我们可以运行以查看输出。很抱歉,这只是代码的一部分,您可以假设I=0您还没有给我们提供
模式。在以后的问题中,请给出一个答案。我关于循环的主要观点是
i
不应该存在-为什么使用
while
循环在序列上循环而不是
进行
循环?为什么在这里使用
while
循环?你甚至都没有进步
i
。请给出一个完整的示例,我们可以运行以查看输出。很抱歉,这只是代码的一部分,您可以假设I=0您还没有给我们提供
模式。在以后的问题中,请给出一个答案。我关于循环的主要观点是,
i
不应该存在-为什么使用
while
循环来循环序列而不是
for
循环?这正是我想要的!多谢各位@wim实际上它们是必需的,否则我必须使用tuple
dict((line.split(“=”)
@AshwiniChaudhary:离题问题:您从何处复制/粘贴代码?如何在我的终端(?)上启用[lineno]
中的
功能?这正是我想要的!多谢各位@wim实际上它们是必需的,否则我必须使用tuple
dict((line.split(“=”)
@AshwiniChaudhary:离题问题:您从何处复制/粘贴代码?如何在我的终端(?)上启用[lineno]
中的