嗨!
我有一个字符串:697733304440804980633599594374136
。我有一本字典:{'69773330': 'something', '697733304': 'something'}
。
我需要做的就是让我的代码首先搜索密钥697733304
,然后在我执行时搜索69773330
:
print datastring
for key in my_dictionary.keys():
if key in datastring:
print key
示例输出:
697733304440804980633599594374136
697733304
69773330
请帮帮我吧;)
我想这是明显的解决方案,但现在我看不到它。
答案 0 :(得分:2)
所以我运行了你的代码并将其作为输出:
697733304440804980633599594374136
69773330
697733304
所以唯一的区别是你想要逆转订单吗?
如果是这样的话:
for key in reverse(my_dictionary.keys()):
如果您希望他们始终按顺序排列,无论输入方式如何,您都可以:
for key in sorted(my_dictionary.keys()):
答案 1 :(得分:1)
在与字符串进行比较之前,只需对键进行排序。另外,不要使用string
作为命名空间,它是python的string
模块的阴影名称。
另外,请记住,字典键的顺序不会保留,并且因为您的键是字符串( NOT 编号),所以您应该在没有保留的情况下对它们进行排序。 / p>
正如@ PadraicCunningham指出的那样,我们甚至可以省略.keys / .iterkeys,因为它在sort
或for/loop
已经默认为密钥。
>>> d = {'69773330': 'something', '697733304': 'something'}
>>> s = '697733304440804980633599594374136'
>>> for key in sorted(d):
... if key in s:
... print key
...
69773330
697733304
答案 2 :(得分:1)
正如我所说的那样明显的答案:)
for key in sorted(di.keys(), reverse=True):
if key in new_key:
print key
感谢上帝的stackoverflow:)