key

Python dict.set

这一生的挚爱 提交于 2020-03-08 05:38:04
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 举例: >>> d = { 'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d[ 'Michael'] 95 dict可以按照名字和成绩的对照表,按照名字查成绩。使用 key-value的形式进行存储,速度极高。 dict还可以通过key放入,举例: >>> d[ 'Adam'] = 67 >>> d[ 'Adam'] 67 由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉, 如果key不存在,dict就会报错。 要避免key不存在的错误,有两种办法,一是通过 in 判断key是否存在: >>> 'Thomas' in d False 二是通过dict提供的 get() 方法,如果key不存在,可以返回 None ,或者自己指定的value: >>> d.get( 'Thomas') >>> d.get( 'Thomas', - 1) % 后面的参数可以自己定义此例子是-1 - 1 要删除一个key,用 pop(key) 方法,对应的value也会从dict中删除: >>> d.pop( 'Bob') 75 >>> d {

利用 NSSortDescriptor 对 NSMutableArray 排序

偶尔善良 提交于 2020-03-08 02:55:05
有时我们在NSMutableArray中存的是网络请求返回的数据,而每一个元素又是一个NSDictionary,如果这时候需要把数组中的元素按照每个元素字典中某一个key来排序,那么我们可以利用Objective C中的类:NSSortDescriptor来快速实现需求。 通常会把排序的代码封装到一个方法中,比如下面这个方法: + ( void ) changeArray:( NSMutableArray *)dicArray orderWithKey:( NSString *)key ascending:( BOOL )yesOrNo{ NSSortDescriptor *distanceDescriptor = [[ NSSortDescriptor alloc ] initWithKey :key ascending :yesOrNo]; NSArray *descriptors = [ NSArray arrayWithObjects :distanceDescriptor, nil ]; [dicArray sortUsingDescriptors :descriptors]; [distanceDescriptor release ]; } 参数说明: dicArray:待排序的NSMutableArray。 key:按照排序的key。 yesOrNo:升序或降序排列

Git SSH Key 生成步骤

一曲冷凌霜 提交于 2020-03-07 23:39:17
Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。 github的SSH配置如下: 一 、 设置Git的user name和email: $ git config --global user.name "your-name" $ git config --global user.email "your-email" 二、生成SSH密钥过程: 1.查看是否已经有了ssh密钥:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除 2.生成密钥: 这里有个坑,其实没必要加-C “your maile address” 推荐使用 ssh-keygen -t rsa 按3个回车,密码为空。 Your identification has been saved in /home/tekkub/.ssh/id_rsa. Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub. The key fingerprint is: ……………… 最后得到了两个文件:id_rsa和id_rsa.pub id_rsa为密钥 id_rsa.pub为公钥 3.在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。 来源: https://www

C#集合类(HashTable, Dictionary, ArrayList)与HashTable线程安全

匆匆过客 提交于 2020-03-07 18:52:44
HashTable 中的 key/value 均为 object 类型,由包含集合元素的存储桶组成。存储桶是 HashTable 中各元素的虚拟子组,与大多数集合中进行的搜索和检索相比,存储桶可令搜索和检索更为便捷。每一存储桶都与一个哈希代码关联,该哈希代码是使用哈希函数生成的并基于该元素的键。 HashTable 的优点就在于其索引的方式,速度非常快。如果以任意类型键值访问其中元素会快于其他集合,特别是当数据量特别大的时候,效率差别尤其大。 HashTable 的应用场合有:做对象缓存,树递归算法的替代,和各种需提升效率的场合。 // Hashtable sample System.Collections.Hashtable ht = new System.Collections.Hashtable(); // --Be careful: Keys can't be duplicated, and can't be null---- ht.Add( 1 , " apple " ); ht.Add( 2 , " banana " ); ht.Add( 3 , " orange " ); // Modify item value: if (ht.ContainsKey( 1 )) ht[ 1 ] = " appleBad " ; // The following code will

Python : 字典按键和值排序

淺唱寂寞╮ 提交于 2020-03-07 10:34:02
[1] sorted()函数 排序函数 sorted(iterable,key,reverse) ,iterable表示 可迭代的对象 ,例如可以是dict.items()、dict.keys()等;key是一个 函数 ,用来选取参与比较的元素;reverse则是用来指定排序是 倒序还是顺序 ,reverse=true则是倒序,reverse=false时则是顺序(默认)。 [2] 按key排序 1、sorted(dict) == sorted(dict.keys()) #返回键 # items以列表形式返回 字典键值对 2、sorted(dict.items(),key=lambda d:d[0]) 3、sorted(dict.items(),key=operator.itemgetter(0)) # import operator [3] 按value排序 1、sorted(dict,key=dict. getitem ) #返回键 2、sorted(dict.items(),key=lambda d:d[1]) 3、sorted(dict.items(),key=operator.itemgetter(1)) 来源: CSDN 作者: 学习CV的菜鸟 链接: https://blog.csdn.net/qq_40263477/article/details/104683211

2018年5月17日笔记

馋奶兔 提交于 2020-03-07 08:53:57
python操作redis set操作 sadd(name, values)  增加 scard(name)    获取 spop(name)    删除并返回set中的一个随机元素 srem(name, value)  删除set中的一个指定元素 sunion(keys)    返回指定集合的并集 sinter(keys)    返回指定集合的交集 hash操作 hset(name, key, value)  设置单个元素 hmset(name, {"k1": "v1", "k2": "v2"}  设置多个元素 hget(name, key)  获取单个元素 hmget(name, keys)  获取多个元素 hkeys(name)  获取name对应的所有key hvalues(name)  获取name对应的所有value hgetall(name)  返回指定name对应的keys和values (返回值长度是哈希表大小的2倍) hexists(name, key)  判断key是否存在 hdel(name, keys)  删除key hlen(name)  获取长度(name中key的个数) !!!重点掌握 string 和 hash 的操作 !!! 适用于所有类型(string/ list/ set/ zset/ hash)的常用操作 r.keys()  查看所有key

alicode46-最大矩形面积

对着背影说爱祢 提交于 2020-03-07 08:36:07
1 package solution46; 2 import java.util.*; 3 class Solution { 4 public long solution(int n,long[] nums) { 5 long maxNum = 0; 6 long maxSecNum = 0; 7 HashMap<Long,Integer> map=new HashMap<Long,Integer>(); 8 for(long i:nums){ 9 if(!map.containsKey(i)) map.put(i,1); 10 else map.put(i,map.get(i)+1); 11 } 12 for (long key : map.keySet()) { 13 if(map.get(key)>1){ 14 if(key >maxSecNum){ 15 if(key>maxNum){ 16 maxSecNum = maxNum; 17 maxNum = key; 18 }else{ 19 maxSecNum = key; 20 } 21 } 22 } 23 } 24 if(map.get(maxNum) != null && map.get(maxNum)>=4) return(maxNum*maxNum); 25 return(maxNum*maxSecNum); 26

Mac下安装nginx并配置SSL实现Https的访问

℡╲_俬逩灬. 提交于 2020-03-06 19:08:43
一、nginx安装   ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"   brew install nginx // 安装nginx   nginx -v // 显示版本号 打开nginx文件夹   cd /usr/local/etc/nginx 启动nginx   sudo nginx 或者 nginx 在浏览器中输入 localhost 访问即可,如出现以下页面,即安装成功 关闭nginx   sudo nginx -s stop 或者 nginx -s stop 重启nginx   sudo nginx -s reload 或者 nginx -s reload 二、配置 1、找到Nginx文件夹   cd /usr/local/etc/nginx 2、openssl生成自签名证书   创建服务器私钥,命令会让你输入一个口令   openssl genrsa -out server.key(起的私钥名字) 1024 根据私钥生成证书申请,创建签名请求的证书(CSR)   openssl req -new -key server.key(起的私钥名字)-out server.csr(证书名字)   下面的选项至少写一个,才可以生成证书成功  

Map<K,V>接口

与世无争的帅哥 提交于 2020-03-06 12:02:31
所在包: java.util.Map 类型参数: K - 此映射所维护的键的类型 V - 映射值的类型 所有已知子接口: Bindings , ConcurrentMap <K,V>, ConcurrentNavigableMap <K,V>, LogicalMessageContext , MessageContext , NavigableMap <K,V>, SOAPMessageContext , SortedMap <K,V> 所有已知实现类: AbstractMap , Attributes , AuthProvider , ConcurrentHashMap , ConcurrentSkipListMap , EnumMap , HashMap , Hashtable , IdentityHashMap , LinkedHashMap , PrinterStateReasons , Properties , Provider , RenderingHints , SimpleBindings , TabularDataSupport , TreeMap , UIDefaults , WeakHashMap public interface Map<K,V> 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 此接口取代 Dictionary 类

基本数据类型

一世执手 提交于 2020-03-06 11:22:24
一.列表:(list) 1.定义:能装对象的对象. 2.用["",""]来表示列表; 3.索引:一排数字,反应第某个位置的字符 索引的下标从0开始 使用[] 来获取数据, 正向从0开始,反向从-1开始 4.索引的运算: 1.+ 组合 2.* 重复 3. 5.删除与更新列表 list.append() 更新列表 为列表添加新元素 del(list)[] 删除列表中的第[]个元素 内置函数 6.使用嵌套元素列表,即在列表中创建其他列表 eg: lst1= ["Google 谷歌","IE 微软","Firefox 火狐","Safari 苹果","Opera 欧朋 "] lst2 = ["Trident ","Webkit ","Gecko","Presto"] lst3 = [lst1,lst2] print(lst3) 7.切片[sta:end] 默认的方向是从左往右切 [str:end:step] #str:起始 end: 结束 step: 步长 默认是 1 ,从右往左取,-1从右往左取 8. 复制:(abc地址没有改变,只有d变了,想要复制而不影响原列表,只有采取d方法) a = [1, 2, 3] b = a c = [] c = a d = a[:] b[0]='b' print (a,b,c,d) print (id(a),id(b),id(c),id(d)) 结果: [