""" 输出4个6 """ def num(): return [lambda x:i*x for i in range(4)] print([m(2) for m in num()]) """ 将列表推导式[]变成(),相当于生成一个生成器,没有参数延时生效 输出:[0, 2, 4, 6] """ def num(): return (lambda x:i*x for i in range(4)) print([m(2) for m in num()]) """ 在列表推导式中及时传参,i=i 输出:[0, 2, 4, 6] """ def num(): return [lambda x,i=i:i*x for i in range(4)] print([m(2) for m in num()])
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 def get_index(nums, target): 2 """ 3 :param nums:传的参数列表 4 :param target:目标值 5 :return:索引值列表 6 """ 7 index_dict={ 8 9 } 10 for index,num in enumerate(nums): 11 tem=target-num 12 tem_index=index_dict.get(tem,'') 13 if tem_index: 14 print(tem_index,index) 15 else: 16 index_dict[num]=index 17 18 if __name__ == '__main__': 19 pp = get_index([2, 4, 5, 8, 1, 11, 4, 15, 7], 9)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 class Feibonacci(): 2 def __init__(self,num): 3 self.a=0 4 self.b=1 5 self.n=0 6 self.num=num 7 def __iter__(self): 8 return self 9 def __next__(self): 10 if self.n<= self.num: 11 f = self.b 12 self.a, self.b =self.b,self.a+self.b 13 self.n += 1 14 return f 15 else: 16 raise StopIteration 17 18 b=Feibonacci(10) 19 20 # print(list(b)) 21 for i in b: 22 print(i)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 def uu(): 2 str='nsjadsabjkfas' 3 b=set() 4 for i in str: 5 b.add(i) 6 if len(b)==len(str): 7 return True 8 else: 9 return False 10 a=uu() 11 print(a)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 a=100+sum([100*(0.5**i) for i in range(0,9)]) 2 print(a)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 json_array = [{"a":1, "b":2},{"a":3, "b": 1},{"a":2, "b": 1}] 2 y=sorted (json_array,key=lambda x: x['a'] ) 3 print(y)
sort 与 sorted 区别:
- sort 是应用在 list 上的方法,属于列表的成员方法,sorted 可以对所有可迭代的对象进行排序操作。
- list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
- sort使用方法为ls.sort(),而sorted使用方法为sorted(ls)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 sorted(iterable[, cmp[, key[, reverse]]])
参数说明:
- iterable -- 可迭代对象。
- cmp -- 比较的函数(python3中已被彻底移除),这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
- key -- 主要是用来进行比较的元素(python2.4开始提供,之前采用cmp),只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。此函数将在每个元素比较前被调用。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 def bubbleSort(arr): 2 """ 3 :param arr:需要的列表 4 5 """ 6 n = len(arr) 7 8 # 遍历所有数组元素 9 for i in range(n): 10 11 # Last i elements are already in place 12 for j in range(0, n - i - 1): 13 14 if arr[j] > arr[j + 1]: 15 arr[j], arr[j + 1] = arr[j + 1], arr[j] 16 17 18 arr = [64, 34, 25, 12, 22, 11, 90] 19 20 bubbleSort(arr) 21 22 print("排序后的数组:") 23 for i in range(len(arr)): 24 print("%d" % arr[i])
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 s = "Let's take LeetCode contest" 2 b=" ".join(s.split(' ')[::-1])[::-1] 3 print(b)