Python基础系列
运算符
Python中的运算符,今天用到了记录下,用一个记一个.............
a=60,b=13
>>
在做单位换算的时候,用到了这个>>符号,第一眼看得我一脸懵逼,毕竟以前没用过........
这个也很简单,其实上面已经解释清楚了,下面我详细演示下。
# << 左边可以看成待转换的二进制位,右边的是左移多少位,可以看成是在后面加几个0 # 例如2的二进制为10,左移三位就是10000,结果为16 print(2 << 3) # 16 # 下面是实际用例.............. # 传入的值都为b n = 1024 symbols = ('K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y') prefix = {} for i, s in enumerate(symbols): # 将所有单位都默认为1换算成b,例如1kb=1024b prefix[s] = 1 << (i + 1) * 10 for s in reversed(symbols): # 判断当前值,是否大于这个单位的最大byte. if n >= prefix[s]: value = float(n) / prefix[s] print('%.1f%s' % (value, s)) print('%sB' % n)
isinstance(类型判断)
为什么会记录这个呢.~~~> <......因为有人问我为什么用 {} = type(a)会报错~~好吧~~就记录下,给新人看看~~共勉
a = dict() res = isinstance(a, dict) print(res)
sort(排序)
当列表中嵌套字典时,[{"key":1.2},{"key":1},{"key":2},{"key":3.2},{"key":3.1},{"key":1.3}]如何进行排序?
len = [{"key":1.2},{"key":1},{"key":2},{"key":3.2},{"key":3.1},{"key":1.3}] len.sort(key=lambda k: k["key"]) print(len)
sorted(对所有可迭代得对象进行排序操作)
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,
而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
语法:
new_d = sorted(d.items(), key=lambda x: x[1], reverse=True) # d为可迭代对象,这里是一个字典 # key为比较对象 # reverse为排序规则,True为降序,False为升序(默认) ''' 解读上面代码,将d转为[('a', 1),('b', 2)......],然后将每个元组的第1位设置成比较元素。按降序排列 '''
.
即将秃头的程序员