强大自己是唯一获得幸福的途径,这是长远的,而非当下的玩乐!
-
使用for循环,循环列表或字典过程中,改变其大小。
# 列表
>>> l1 = [11, 22, 33, 44, 55, 66]
>>> del l1[1::2] # 使用del可以正常的删除
>>> print(l1)
[11, 33, 55]
>>> for i in range(len(l1)): # 如果用for,则结果与预想不一样
... if i % 2 == 1:
... del l1[i]
...
>>> print(l1)
[11, 55]
>>>
# 字典
>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> for i in dic1:
... if "name" in dic1:
... del dic1[i]
... # 如果在循环过程中改变了大小,会报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: dictionary changed size during iteration
解决:
# 列表
# 列表可以使用del一次性删除
# 如若使用for应倒叙删除
>>> l1 = [11, 22, 33, 44, 55, 66]
>>> for i in range(len(l1)-1, -1, -1):
... if i % 2 == 1:
... del l1[i]
...
>>> print(l1)
[11, 33, 55]
# 字典
# 由于使用for循环删除会报错,那么可以将要删除的key追加到一个列表内,然后用其他方式删除
>>> dic1 = {"name": "zuowei", "age": 18, "hobby": "lp"}
>>> l1 = []
>>> for k, v in dic1.items():
... if v == "lp":
... l1.append(k) # 添加满足条件要删除的字典key到列表l1
...
>>> for i in l1: # 循环这个列表
... del dic1[i] # 删除对应的key
...
>>> print(dic1)
{'name': 'zuowei', 'age': 18}
WIKI(confluence)访问没有目录,获取不到空间等,batch.js获取失败,资源获取报 NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)。
解决:1,查看磁盘,inodes等资源使用情况, 可能会导致此问题
2,如使用了代理,如nginx,可添加配置,
proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
意思自行百度
3,如使用了中间件,如tomcat,可加大server.xml的 maxHttpHeaderSize值