eval函数
r = eval(b'3+5')
print(r)
print(type(r)) #r还是int型
#eval('09') #抛出异常
int('09') #可以的!int还是比eval强大!
lis = list(str([1,2,3,4])) #字符串中每个字符都变为列表中的元素
print(lis)
q = eval(str([1,2,3,4]))
print(q)
#8
#<class 'int'>
#['[', '1', ',', ' ', '2', ',', ' ', '3', ',', ' ', '4', ']']
#[1, 2, 3, 4]
type()函数
print(type({3}) in (tuple,list)) #False
print(type({3}) in (set,list)) #True
isinstance()函数
print(isinstance(3j,(int,float,complex))) #True
max与min函数
max1 = max(2,111)
print(max1) #111
max2 = max('2','111')
print(max2) #2
max3 = max('2','111',key = len)
print(max3) #111
max4 = max(['2','111'])
print(max4) #2
max5 = max(['111','2'])
print(max5) #2
max6 = max(['2','111'],key = len)
print(max6) #111
排序与逆序
x = list(range(11))
import random
random.shuffle(x) #shuffle可以打乱顺序
print(x) #[3, 4, 7, 1, 0, 9, 8, 6, 10, 2, 5]
print(sorted(x)) #默认升序 #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(sorted(x,key=lambda item: len(str(item)),reverse = True)) #按转换为字符串后的长度降序排序
#[10, 3, 4, 7, 1, 0, 9, 8, 6, 2, 5]
print(x) #[3, 4, 7, 1, 0, 9, 8, 6, 10, 2, 5] #说明sorted不会改变原来的x
y = ['aaa','bc','ba','aa']
print(sorted(y,key=lambda item: (len(item),item))) #先按长度排序,长度一样的正常排序
#['aa', 'ba', 'bc', 'aaa']
print(y)
map对象属于迭代器类型,其中每个元素是原可迭代对象中元素经过func处理后的结果,不对原可迭代做任何修改
import random
x = random.randint(1,1e30)
print(list(map(int,str(x))))
#[8, 5, 7, 5, 4, 7, 3, 6, 4, 1, 6, 7, 3, 3, 9, 5, 5, 5, 1, 9, 5, 2, 6, 7, 3, 8, 3, 0, 3, 5]
filter()函数,注意python3返回值是一个迭代,自我认为map和filter函数的用法和作用差不多!!!
'''a = filter(lambda x:x%2==0,range(10))
print(a)
b=list(a)
print(b)'''
#python3输出的是一个迭代器,想要得到对应的列表的话,需要转换类型
import math
def is_sqr(x):
return math.sqrt(x)%1==0
newlist = filter(is_sqr,range(1,101))
print(newlist)
print(list(newlist))
#<filter object at 0x00000271ED1B6280>
#[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]