print(abs(-98)) #绝对值 print(all([1,2,3,"yxz",0])) #将每个元素都进行布尔值判断,所有的都为True,结果为True。一个为假结果就是假 print(any([1,2,3,4,0])) #将每个元素都进行布尔值判断,有一个为真,就输出True print(bin(3)) #将十进制转换为二进制 print(bool(0)) #判断布尔值类型。空字符串,0,None为false print(bytes("草泥马",encoding="utf-8")) #不重要,转换为二进制,用utf-8编码
print(chr(97)) #输出对应的asci码
print(dir(all)) #打印某一个函数对应的方法,没啥用
print(divmod(130,3)) #这个功能重要,得到的结果为别是取商和取余,结果是(43,1)用来做分页功能,一共130页,每页展示三个
print(eval(str({"name":"alex"}))) #将字符串中的数据结构提取出来,这个就是提取出来了一个字典
express="1+2*3+9/3"
print(eval(express)) #将字符串中的数字运算给计算出结果
#可哈希的数据类型就是不可变数据类型。不可哈希的数据类型就是可变数据类型
print(hash("alex")) #不管哈希什么值,得到的值长度固定。 #不能通过哈希的值反求原来的值。
#哈希的作用:下载软件的时候可能有病毒(再下载的过程中),所以在下载的时候,看官网的哈希值和自己下载下来的哈希值是否一样,若不一样,那么就出了问题
print(isinstance("alex",str)) #判断前面一个是否是后面的那个数据类型
print(list(zip(("a","b","c"),(1,2,3)))) #zip也是形成一个可迭代器,需要list展示
#生成结果[(‘a‘, 1), (‘b‘, 2), (‘c‘, 3)],zip函数是一种一一对应的关系
#如果左右不一样的话,输出结果还是尽可能的保持一致
print(list(zip(("a","b","c"),(1,2,3,4))))
#生成结果还是[(‘a‘, 1), (‘b‘, 2), (‘c‘, 3)]
print(list(zip("hello","12345")))
#输出结果为[(‘h‘, ‘1‘), (‘e‘, ‘2‘), (‘l‘, ‘3‘), (‘l‘, ‘4‘), (‘o‘, ‘5‘)] #列表里有很多元组
字典也可以通过zip的方式写:
p={"name":"alex","age":19,"gender":"male"}
print(list(zip(p.keys(),p.values())))
max和min方法的高级用法
l=[(1,"b"),(5,"e"),(3,"a"),(4,"d")] print(max(l)) #输出值(5, ‘e‘) 。因为max是遍历列表中的数,然后从第一位开始比较,第一位如果见分晓,就是最大的。注意不同数据类型之间不能进行比较。 li=[("A10"),("B3")] print(max(li)) c=print(list(max(li))) #输出结果为[‘B‘, ‘3‘] 将字符串变成列表的形式
总结,如果max里面放的是一个列表,列表里是简单的数据类型,那么max会直接把最大的筛选出来。
如果max里面放的是一个字典,那么max函数会默认比较字典的key,如下:
如果想比较字典的value值可以下 print(max(dict.values())),但是这样有一个缺陷,就是不知道是那个key对应的value
所以,改进方法,既想比较value,又想知道哪个key值对应的value,我们可以联系zip的方法
print(max(zip(dict.values, dict.keys)))
先通过zip(拉链函数)创造一个一一对应的列表,value在前,key在后。这样就可以比较了
原文:https://www.cnblogs.com/yxzymz/p/12739854.html