关于字典的key冒泡排序,将对应的value按字符串输出

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {
//将字典的key从Z->A排序,按排序后的key的顺序,输出value,将value按字符串输出
NSDictionary *[email protected]{@"R":@"e",
@"T":@"e",
@"D":@"b",
@"S":@"u",
@"K":@"a",
@"A":@"s",
@"O":@" ",
@"N":@"p",
@"B":@"b",
@"J":@"u",
@"F":@" ",
@"U":@"t",
@"H":@"l",
@"E":@"j",
@"Z":@"s",};

NSArray *arr=[dict allKeys];
NSComparator comp=^(id obj1,id obj2){
NSComparisonResult result=[obj2 compare:obj1];
return result;
};
NSArray *sortArr=[arr sortedArrayUsingComparator:comp];
for(NSString *str in sortArr) {
NSLog(@"key=%@,value=%@",str,dict[str]);
}

}
return 0;
}

时间: 2024-08-26 05:28:51

关于字典的key冒泡排序,将对应的value按字符串输出的相关文章

Python实现字典的key和values的交换

1 #encoding=utf-8 2 3 4 5 #反转字典 即key和val互换 6 dict1={1:2,3:4,6:7,9:10} 7 8 9 print '---生成器表达式' 10 def invert_dict(d): 11 return dict((v,k) for k,v in d.iteritems()) 12 13 print invert_dict(dict1) 14 15 16 print '---列表推导' 17 def invert_dict2(d): 18 ret

python中使用自定义类实例作为字典的key

python中dict类型的key值要求是不可变类型,通常来说,我们一般采用int或者str类型来作为字典的key,但是在某些场景中,会造成一定的麻烦. 如我们有一个处理http Request的规则类名为Rule,其定义如下,它由一个Request path和其支持的Request methods数组组成: class Rule(object): def __init__(self, path, methods): assert(isinstance(path, str)) assert(is

Python中字典的key都可以是什么

作者:Inotime 来源:CSDN 原文:https://blog.csdn.net/lnotime/article/details/81192207 答:一个对象能不能作为字典的key,就取决于其有没有__hash__方法.所以所有python自带类型中,除了list.dict.set和内部至少带有上述三种类型之一的tuple之外,其余的对象都能当key. 比如数值/字符串/完全不可变的元祖/函数(内建或自定义)/类(内建或自定义)/方法/包等等你能拿出手的,不过有的实际意义不高.还有数值型

python中字典以key排序,以value排序。以及通过value找key的方式

1.sorted函数首先介绍sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数. 其中iterable表示可以迭代的对象,例如可以是dict.items().dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序(从大到小),reverse=false则是顺序(从小到大),默认是reverse=false. 2.

字典的key都可以是什么

一个对象能不能作为字典的key,就取决于其有没有__hash__方法.所以所有python自带类型中,除了list.dict.set和内部至少带有上述三种类型之一的tuple之外,其余的对象都能当key. 比如数值/字符串/完全不可变的元祖/函数(内建或自定义)/类(内建或自定义)/方法/包等等你能拿出手的,不过有的实际意义不高.还有数值型要注意,因为两个不同的相等数字可以有相同的哈希值,比如1和1.0. 原文地址:https://www.cnblogs.com/zknublx/p/120543

Python遍历字典去key和value需要注意的点→enumerate和items()

嗯,首先在提到enumerate()这个枚举方法之前,我想到的就是这个可以遍历任何一个元素,可以打印出来key和value,但是我没有想到的是,这个遍历的,仅仅限于遍历打印出索引和元素. 碰到这个问题是因为在做一个罗马数字运算引发的....来看一下详细的代码 ir = {'1000': 'M', '900': 'CM', '500': 'D', '400': 'CD', '100': 'C', '90': 'XC', '50': 'L'} for i,v in enumerate (ir): p

字典按key值排序

data_dic = {'20190105': [{'name':'bbb','value': '222'}, {'name':'aaa', 'value': '111'}], '20190101': [{'name':'bbb','value': '333'}, {'name':'aaa', 'value': '555'}]} # 列表按 name值字段排序 for key, value in data_dic.items(): value_temp = sorted(value, key=l

ios 解决数据请求json解析字典后,由于java某些类库转换json字符串后出现键值为&lt;null&gt;无法保存在userDefault的问题

解决数据请求json解析字典后,由于java某些类库转换json字符串后出现键值为<null>无法保存在userDefault. 打印下得到的字典数据: “username”=<null> 此时如果将字典保存到userDefault中会报错 所以需要遍历字典将其替换 for (NSString*s in [Dict1 allKeys]) { if ([Dict1[s] isEqual:[NSNull null]]) { [Dict1 setObject:@""

python 输出字典的key

给你一字典a,如a={1:1,2:2,3:3},输出字典a的key,以','链接,如'1,2,3'. b=a.keys() m=[] for i in b:     m.append(str(i)) print ','.join(m)