有序更改字典键(Python)

jon*_*hep 0 python dictionary

我知道可以更改字典中的键.但是可以使用定义的模式更改所有键吗?在这种情况下,我有一个字典,其中包含:

{'>Apple': 'Orange', '>Grape': 'Hopz'}
Run Code Online (Sandbox Code Playgroud)

问题:所有密钥都包含一个'>'+字符串.我可以删除这些'>'并更新吗?或者更新没有'>'?

小背景: 在我的脚本中,我尝试将一个字典值与此示例键进行比较,从而导致错误.我认为这是由于'>'因为v =!k如果k ='> foo'且v ='foo'

如果你们中的任何人都是科学家,那么'>'是一个fasta解析器的结果.我可能只是将脚本更改为不在行的开头写'>'(我没有尝试过这个..).

Mar*_*ers 6

这对词典理解很容易:

updateddict = {k.lstrip('>'): v for k, v in yourdict.iteritems()}
Run Code Online (Sandbox Code Playgroud)

对于Python 2.7.对于Python 3,请yourdict.items()改用.

对于Python 2.6及更早版本,还没有dict理解语法,请使用:

updateddict = dict((k.lstrip('>'), v) for k, v in yourdict.iteritems())
Run Code Online (Sandbox Code Playgroud)

str.lstrip()是一种快速简洁的方法,可以>从键的开头删除任何字符.