列表生成式 主要用于生成较为复杂的列表 常用用法 >>> [x * x for x in range(5) if x % 3 !=1 ] [0, 4, 9] #返回除以3余数不为1的数字的平方 两层循环 可以生成全排列: >>> [m + n for m in '123' for n in 'abc'] ['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c'] 实例 运用列表生成式,可以写出非常简洁的代码.例如,列出当…
迭代: 迭代对象(Iterable),可以直接作用于for循环的对象,如list / tuple / dict / set / str /等集合数据类型可以直接作用于for循环 >>> spam={1:'A',2:'B',3:'C'} >>> for x in spam: #默认情况下,dict迭代的是key print x 1 2 3 >>> for value in spam.values(): #values():迭代value print va…
import os; list1 = list(range(1,11)) list2 = [x*x for x in list1 if x % 2 == 0]#列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,for循环后面还可以加上if判断,这样我们就可以筛选出仅偶数的平方 print(list2)#[4, 16, 36, 64, 100] arr1 = ['x','y','z'] arr2 = ['a','b','c'] arr3 = [x + y for x in arr1…
列表,拉锁式儿合并. [ [a,b] for a,b in zip(list1,list2)] #最笨的 a=[1,2,3,4,5] b=[2,3,4,5,6] d=[] for i in range(len(a)): c = [] c.append(a[i]) c.append(b[i]) d.append(c) #列表垂直合并 In [8]: list3 Out[8]: [['11:00', '11:01', '11:02'], ['2', '2', '3']] In [9]: [[a,b]…
记得我们在其他语言中都学到过循环,尤其是对for循环是再熟悉不过了 比如我有一个数组 a[10]={1,2,3,4,5,6,7,8,9,10} 下面需要依次循环打印出来,C语言首先想到的是 for(i=0:i<10;i++ ) { print a[i] } 但是在Python中,我们可以很方便的写出这个循环 def TestFun(): a = [1,2,3,4,5,6,7,8,9,10] for value in a: print value TestFun() 如果现在我们的a不是一个数组…
1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行: L = [] for i in range(1,11): L.append(i*i) 列表生成式只用一行,前面是生成规则,后面是初始元素,最后还可以加上判断条件: [i*i for i in range(1, 11)] 列表生成式还可以实现多层循环,以及判断,刚刚的栗子再写复杂一点就成了: [a…