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

时间:2012-10-08 23:07:53

标签: 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
{'k': 'ptk_first'}

如何使这几行代码更好,字典看起来像这样:

{'ptk': 'ptk_first'}

4 个答案:

答案 0 :(得分:2)

for line in lines:
    if re.match(pattern, line):
        k,v = line.split('=')
        token = {k:v}
        print token

答案 1 :(得分:2)

这样的事情:

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 

答案 2 :(得分:1)

In [112]: line="ptk=ptk_first" 

In [113]: dict([line.split("=")])
Out[113]: {'ptk': 'ptk_first'}

代码:

for line in lines:
    if re.findall(pattern, line):
        token = dict([line.split("=")])
        print token

答案 3 :(得分:1)

使用正则表达式,你可以试试这个:

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