相关疑难解决方法(0)

旧版python的OrderedDict

有序词典是非常有用的结构,但不幸的是,这些最近只适用于3.12.7版本.如何在旧版本中使用有序字典?

python

57
推荐指数
3
解决办法
3万
查看次数

自定义排序Python字典

所以当我打印它时,我有一个字典看起来像这样:

{'10': -10, 'ZT21': 14, 'WX21': 12, '2': 15, '5': -3, 'UM': -25}
Run Code Online (Sandbox Code Playgroud)

我想以自定义方式对它们进行排序,我定义了这种方式.比方说,我希望它进行排序(按键)的方式是ZT21, 10, WX21, UM, 5, 2,ZT21, 10, WX21, UM, 5, 2,ZT21, 10, WX21, UM, 5, 2,ZT21, 10, WX21, UM, 5, 2,ZT21, 10, WX21, UM, 5, 2,ZT21, 10, WX21, UM, 5, 2.

任何人都知道如何以预定义/自定义方式整理字典?我正在做的是从数据库中获取这个字典,它可以提供超过20个密钥,所有密钥都有特定的顺序.始终设置顺序,但有时某些键/值不会出现在字典中.所以这也可能发生:

{'ZT21': 14, 'WX21': 12, '2': 15, '5': -3, 'UM': -25}
Run Code Online (Sandbox Code Playgroud)

排序(按键)为ZT21, 10, WX21, UM, 5, 2,ZT21, 10, WX21, UM, 5, …

python

11
推荐指数
1
解决办法
1万
查看次数

按密钥长度排序字典

可能重复:
按密钥长度排序字典

我需要使用字典"搜索和替换".我希望它首先使用最长的键.

以便

text = 'xxxx'
dict = {'xxx' : '3','xx' : '2'} 
for key in dict:
    text = text.replace(key, dict[key])
Run Code Online (Sandbox Code Playgroud)

应该返回"3x",而不是现在的"22".

就像是

for key in sorted(dict, ???key=lambda key: len(mydict[key])):
Run Code Online (Sandbox Code Playgroud)

只是无法得到里面的东西.
有可能用一个字符串吗?

python dictionary

9
推荐指数
1
解决办法
1万
查看次数

按键长度对字典进行排序。Python 3.6

我想按键的长度对我的字典进行排序(第一个键具有最大长度,最后一个键具有最小长度)

例如:

dictionary = {"aa" : 1, "aaaaaaa": 2, "aaa" : 3, "a": 4}
Run Code Online (Sandbox Code Playgroud)

排序后的结果一定是:

{"aaaaaaa": 2, "aaa" : 3, "aa" : 1, "a": 4}
Run Code Online (Sandbox Code Playgroud)

python sorting dictionary python-3.x

5
推荐指数
1
解决办法
7827
查看次数

标签 统计

python ×4

dictionary ×2

python-3.x ×1

sorting ×1