python | 浅学 | 8 数组 推导式
作者:互联网
a, b, c, d = 20, 5.5, True, 4+3j print(type(a), type(b), type(c), type(d)) a = 111 print(isinstance(a, int)) class A: pass class B(A): pass print(isinstance(A(), A)) print(type(A()) == A ) print(isinstance(B(), A) ) print(type(B()) == A ) #isinstance()会认为子类是一种父类类型。 type()不会认为子类是一种父类类型。 #1.列表推导式 [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] names = ['Bob','Tom','alice','Jerry','Wendy','Smith'] new_names = [name.upper()for name in names if len(name)>3] print(new_names) #['ALICE', 'JERRY', 'WENDY', 'SMITH'] #2.字典推导式 { key_expr: value_expr for value in collection } 或者 { key_expr: value_expr for value in collection if condition } listdemo = ['Google','Runoob', 'Tao' ,'bao'] new_listdemo={it:len(it) for it in listdemo} # 将列表中各字符串值为键,各字符串的长度为值,组成键值对 print(new_listdemo) #{'Google': 6, 'Runoob': 6, 'Tao': 3, 'bao': 3} #3.集合推导式 { expression for item in Sequence } { expression for item in Sequence if conditional } setnew = {i**2 for i in (1,2,3,4) if i<4} #计算数字 1,2,3 的平方数 print(setnew) #{1, 4, 9} #4.元组推导式 (expression for item in Sequence ) (expression for item in Sequence if conditional ) a = (x for x in range(1,10)) print(a) print(tuple(a)) # 使用 tuple() 函数,可以直接将生成器对象转换成元组 a = {x for x in 'abxacadaba' if x not in 'abc'} print(a) #x d a.add('dong') print(a) a.pop() #也可以设置随机删除集合中的一个元素 print(a) a.discard('dong1') #移除集合中的元素,且如果元素不存在,不会发生错误 #a.remove('dong1') #从集合中移除,如果元素不存在,则会发生错误 list=[1,2,3,4] it = iter(list) # 创建迭代器对象 print (next(it)) for x in it: print (x, end=" ") def hello(): print("Hello World!") hello() def area(width, height): return width * height def print_welcome(name): print("Welcome", name) print_welcome("Runoob") w = 4 h = 5 print("width =", w, " height =", h, " area =", area(w, h)) vec = [2, 4, 6] vec1 =[3*x for x in vec] #元素*3 print(vec1) vec2 =[[x, x**2] for x in vec] #元素平方 print(vec2) matrix = [[1, 2, 3, 4], [5, 6, 7, 8],[9, 10, 11, 12]] matrix1 = [[row[i] for row in matrix] for i in range(4)] print(matrix1) # 打开一个文件 f = open("D:/python/tmp/foo.txt", "w") f.write( "Python 是一个非常好的语言。\n是的,的确非常好!!\n" ) # 关闭打开的文件 f.close() # 打开一个文件 f = open("D:/python/tmp/foo.txt", "r") #str = f.readlines() #print(str) for line in f: print(line, end='') # 关闭打开的文件 f.close() class MyClass: """一个简单的类实例""" i = 12345 def f(self): return 'hello world' # 实例化类 x = MyClass() # 访问类的属性和方法 print("MyClass 类的属性 i 为:", x.i) print("MyClass 类的方法 f 输出为:", x.f())
标签:推导,python,浅学,names,print,new,isinstance,type,listdemo 来源: https://www.cnblogs.com/dongxizhen/p/16463202.html