Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字典键的有序更改(Python)_Python_Dictionary - Fatal编程技术网

字典键的有序更改(Python)

字典键的有序更改(Python),python,dictionary,Python,Dictionary,我知道在字典里更改键是可能的。但是,是否可以使用定义的模式更改所有键?在本例中,我有一本字典,其中包含: {'>Apple': 'Orange', '>Grape': 'Hopz'} 问题:所有键都包含'>'字符串。我可以删除这些“>”并更新吗?或不带'>'的更新 小背景: 在我的脚本中,我尝试将一个字典值与这个示例键进行比较,这会导致一个错误。我认为这是由于“>”的原因,因为v=!如果k='>foo'和v='foo' 如果你们中有人是科学家,这个“>”是fasta解析器的结果。我

我知道在字典里更改键是可能的。但是,是否可以使用定义的模式更改所有键?在本例中,我有一本字典,其中包含:

{'>Apple': 'Orange', '>Grape': 'Hopz'}
问题:所有键都包含'>'字符串。我可以删除这些“>”并更新吗?或不带'>'的更新

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


如果你们中有人是科学家,这个“>”是fasta解析器的结果。我可以改变脚本,不在一行的开头写“>”(我还没有尝试过这一点。)

听写理解很容易:

updateddict = {k.lstrip('>'): v for k, v in yourdict.iteritems()}
对于Python2.7。对于Python3,请改用
yourdict.items()

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

updateddict = dict((k.lstrip('>'), v) for k, v in yourdict.iteritems())

是一种快速而简洁的方法,可以从键的开头删除任何
字符。

理解dict很容易:

updateddict = {k.lstrip('>'): v for k, v in yourdict.iteritems()}
对于Python2.7。对于Python3,请改用
yourdict.items()

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

updateddict = dict((k.lstrip('>'), v) for k, v in yourdict.iteritems())

是一种快速而简洁的方法,可以从键的开头删除任何
字符。

yourdict.items我可以理解:p但是,“.lstrip”我需要为此导入一些内容吗?@jon_shep不,这是一种字符串方法。谢谢大家!总是喜欢这里关于我的书不会教我的东西的快速回复。yourdict.items我能理解:P但是,“.lstrip”我需要为此导入一些东西吗?@jon_shep不,这是一个字符串方法。谢谢大家!总是喜欢这里关于我的书不会教我的东西的快速回复。当我看到这种问题时,我觉得有必要注意:。是的……但我的问题不是关于我所做的解析器。这只是我想到的一个可能的解决方案。当我看到这类问题时,我觉得有必要注意:。是的……但我的问题不是关于我所做的解析器。这只是我想到的一个可能的解决方案。