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位设置成比较元素。按降序排列
'''

 

 

 

.

 

posted @ 2019-04-18 10:20  CLuke  阅读(286)  评论(0)    收藏  举报
Live2D