捕捉异常catch, except:
example:
try:
fh = open("testfile", "w")
fh.write("这是一个测试文件,用于测试异常!!")
except IOError:
print("Error: 没有找到文件或读取文件失败")
else:
print("内容写入文件成功")
fh.close()
列表list:
pop() 按索引删除列表某个值:
y = [0,0,1,0]
y.pop(3)
print(y)
【注:若边遍历边删除列表某个元素时要注意了!!!。因为边遍历边删除,会导致列表变短,所以弄个count变量记录。每删一个count+1】
x = [0,1,2,3]
count = 0
for i in range(len(x)):
x.pop(i-count)
count += 1
print(x)
remove() 函数用于移除列表中某个值的第一个匹配项:
y = [0,0,1,0]
y.remove(0)
print(y)
注意事项: 1. python创建二维列表【有坑~】:点击进入 2.Python列表的浅拷贝与深拷贝【有坑~】:点击进入
二分查找模块bisert:
找到合适的插入位置:
- 如果列表中存在多个元素等于x,那么bisect_left(nums, target)返回最左边第一个大于等于target的那个索引。
- bisect_right(nums, target)返回最右边的那个索引加1,回最右边第一个小于等于target的那个索引。
- bisect()和bisect_right()等价。
import bisect
nums = [1,5,5,5,17]
index1 = bisect.bisect(nums,5)
index2 = bisect.bisect_left(nums,5)
index3 = bisect.bisect_right(nums,5)
print("index1 = {}, index2 = {}, index3 = {}".format(index1, index2, index3))
按顺序插入某个元素:
import bisect
a = [1,4,6,8,12,15,20]
bisect.insort(a,13)
print(a)
collections模块
这个模块实现了特定目标的容器,以提供Python标准内建容器 dict、list、set、tuple 的替代选择。 Counter:字典的子类,提供了可哈希对象的计数功能 defaultdict:字典的子类,提供了一个工厂函数,为字典查询提供了默认值 OrderedDict:字典的子类,保留了他们被添加的顺序 namedtuple:创建命名元组子类的工厂函数 deque:类似列表容器,实现了在两端快速添加(append)和弹出(pop) ChainMap:类似字典的容器类,将多个映射集合到一个视图里面
deque: 这个经常使用,用来实现队列,跟列表差不多,但它可以popleft()弹出对首元素。
defaultdict: Python中通过Key访问字典,当Key不存在时,会引发‘KeyError’异常(其实也可通过dict.get(key, 第二个参数)来解决,找不到默认返回None,可设置第二个参数为找不到key时返回的默认值)。为了避免这种情况的发生,可以使用collections.defaultdict()方法来为字典提供默认值。 key值可自定义,value的类型与collections.defaultdict()括号中设置类型的相同。 如:
import collections
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = collections.defaultdict(list)
for k, v in s:
d[k].append(v)
print(d.items())
output:dict_items([(‘yellow’, [1, 3]), (‘blue’, [2, 4]), (‘red’, [1])])
?其他功能和dict()一样。
yield的用法详解:
点击进入
nonlocal和global用法
点击进入
|