我有一个长字符串,我正在从一个文件行中读取行。我试图将行转换为字典并尝试检查给定是否存在字典键值必须返回true。从字符串返回字典值作为元组或列表
实施例:
>>> data
'Xyz pqrs,uvw'
>>> dict(line.split(',') for line in data.strip().splitlines())
{'Xyz pqrs': 'uvw'}
这是我
输出预期结果:
在元组{'Xyz' : ('pqrs','uvw')}
或列表
{'Xyz' : ['pqrs','uvw']}
并且如果“PQRS”出现在data.values()它必须打印“是”
>>> data2
{'Xyz': ['pqrs', 'uvw']}
>>>
>>> if 'pqrs' in (d for d in data2.values()):
... print "yes"
...
>>> if 'pqrs' in data2.values():
... print "yes"
...
我试用过的方法,但并没有得到来自任何输出。
任何提示将是有益的。
我得到无效的语法? >>> d = {key:values.split(“,”)for key,data.splitlines()中line.split()中的值)} 文件“”,第1行 d = {key :键值values.split(“,”),data.splitlines()中line.split()中的值} ^ SyntaxError:无效的语法 –
您使用的是什么版本的Python? Dict-Comprehensions在Python 2.7左右是新的(即不是新增功能)。或者,尝试'dict((key,values.split(“,”))...)' –
我正在使用python 2.6。谢谢,我知道了 –