Python基础-4
2019-11-10 07:05
2046 查看
1、filter
filter可以进行过滤,和map的使用方式一样。
2、yield
在Python中,如果函数中带有yield,则表示该函数是一个生成器generator。当运行到yield时,就返回yield后面的值。然后在下一次继续从yield下一个语句继续执行。
例如:杨辉三角
def triangles(): L = [1] while 1: yield L L = [0] + L + [0] L = [L[i] + L[i + 1] for i in range(len(L) - 1)] t = triangles() while 1: print(next(t)) 结果如下: # [1] # [1, 1] # [1, 2, 1] # [1, 3, 3, 1] # [1, 4, 6, 4, 1] # [1, 5, 10, 10, 5, 1] # [1, 6, 15, 20, 15, 6, 1] # [1, 7, 21, 35, 35, 21, 7, 1] # [1, 8, 28, 56, 70, 56, 28, 8, 1] # [1, 9, 36, 84, 126, 126, 84, 36, 9, 1] ...
3、sorted
排序函数。这个函数可以对list进行排序,在元素是字符串时候或者想要自定义时候可以传入排序的函数。
sorted(list, key = method)
sortedList = sorted([1, -4, 5, 44, -443, 45, 78]) print(sortedList) sortedList = sorted([1, -4, 5, 44, -443, 45, 78], key=abs) print(sortedList) # reverse 对排序进行反转 sortedList = sorted([1, -4, 5, 44, -443, 45, 78], key=abs, reverse=True) print(sortedList)
对tuple的排序
# 假设我们用一组tuple表示学生名字和成绩: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] # 按名字排序 def by_name(t): return t[0] # 分数排序 def by_score(t): return t[1] print(sorted(L, key=by_name)) print(sorted(L, key=by_score))
4、list,tuple,set,dict的使用
-
list
list是一个有序的集合,可以随意的增加和删除。先定义:L = [2,4,5,45,7]
(1)、增加到末尾 :
L.append(666) 或者 L = L + [666] 结果: [2,4,5,45,7,666]
(2)、插入到指定位置:
L.insert(0, 777) # 把777插入到第一个位置 或者 L = [777] + L 结果: [777, 2, 4, 5, 45, 7]
(3)、取值:
n = L[2] # 取第几个元素 n = L[-1] # 或者从后往前取,取倒数第一个(-1),倒数第二个(-2)
(4)、删除:
L.pop(i) # 删除第i个元素 L.pop() # 没有序号,则默认删除最后一个元素
(5)、替换:
# 直接设置要替换的值 L[i] = 888
-
tuple
tuple是不可变的list。
T = () # 定义一个空tuple T = (4,) # 定义只有一个元素的tuple,需要在()里面加一个逗号“,”,不然会被当成数字。
(1)、取值:和list取值一样
t = T[1] # 取第二个元素
(2)、替换:如果被替换的值是对象,该对象里面的值可以修改,其他的不能修改。
-
set
set是一种无序且不重复的类似list 的集合。
S = {1,3,4,5,7} # 定义一个set
(1)、增加:
S.add(666) # 添加一个元素
(2)、删除
S.remove(666) # 删除666这个元素
-
dict dict对应Java中的map。在Python中是字典。
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
(1)、增加/替换:
d['zfskkk'] = 98 # 增加一对key-value,如果key已经存在,则会覆盖先前的值。
(2)、取值:
value = d['zfskkk'] # 取值。如果该key不存在,则会报错。 value = d.get('zfskkk', -1) # 如果key不存在,返回None。如果有默认值,则返回默认值。
(3)、删除:
d.pop('zfskkk') # 如果key不存在则报错。
(4)、判断key是否存在
'zfskkk' in d
相关文章推荐
- python基础之字典
- python的基础模块(os,sys,time,shutil,differlib,socket)
- python与数据挖掘基础
- python基础(一)
- Python3基础 list append 向尾部添加一个元素
- Python自学基础2
- 【python数据挖掘课程】二十二.Basemap地图包安装入门及基础知识讲解
- 【python】廖雪峰python教程学习--基础
- Python基础-内存读数据StringIO和BytesIO
- python基础~5(dict)
- Python基础(二)
- python基础知识(七)常用模块----(五)
- Python系列之 - 线程基础
- python爬虫基础封装函数
- Python基础(二)
- 1.python爬虫基础——正则表达式
- 用Python进行基础的函数式编程的教程
- python入门-----有编程基础,直接写代码
- Python开发基础-Day1-python入门
- python3 爬虫基础(一本书推荐)