python 切片/迭代/列表生成式
1 print("_______________________切片___________________________") 2 name = ['star','keatiuny','bob','jack','tom'] 3 #取列表中前3个元素 4 name1 = name[:3] 5 #for循环取前3个元素 6 r = [] 7 n = 3 8 for i in range(n): 9 r.append(name[i]) 10 print(r) 11 >>>['star','keatiuny','bob'] 12 print(name1) 13 >>>['star','keatiuny','bob'] 14 #tuple和字符串也可以进行切片操作 15 16 print("_______________________迭代___________________________") 17 #迭代:给定一个list或tuple,通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(iteration) 18 #list或元组称为可迭代对象 19 dic = {'a':1,'b':2,'c':3} 20 for key in dic: 21 print(key) 22 #默认情况下,字典迭代的是key 23 #迭代字典的value:for i in dic.values() 24 #同时迭代key和value:for k,v in dic.items() 25 26 #迭代value: 27 for v in dic.values(): 28 print(v) 29 30 #同时迭代key和value 31 for k,v in dic.items: 32 print("%s=%s"%(k,v)) 33 34 #判断一个对象是否为可迭代对象:collections模块的iterable类型判断 35 from collections import Iterable 36 #判断字符串是否为可迭代对象,返回一个bool值(True) 37 isinstance('abc',Iterable) #字符串 返回True 38 isinstance([1,23,4],Iterable) #list 返回True 39 isinstance(1233,Iterable) #整数 返回False
列表生成式
print("_______________________列表生产式___________________________") #用来创建list的生成式 list1 = [1,2,3,4,5,6,7,8,9,10] list2 = list(range(1,11)) print(list1) print(list2) #生成[1*1,2*2,3*3,4*4,5*5,6*6,7*7,8*8,9*9,10*,10] print("_____________使用for循环____________________") l = [] for i in range(1,11): l.append(i*i) print(l) print("_____________使用代码生成式____________________") l2 = [i*i for i in range(1,11)] print(l2) #列出当前目录下的所有文件及文件夹 os.listdir() import os F = [f for f in os.listdir('.')] print(F) #小练习:判断L1中的元素是否为str,并将大写字母全部换成小写 L1 = ['Hello', 'World', 18, 'Apple', None] L1 = [s.lower() for s in L1 if isinstance(s,str)] print(L1)

浙公网安备 33010602011771号