0%

Python的基础数据结构有以下几种

数组list

1
2
3
4
5
[]

list([1, 2, 3])

list(range(5))

元组tuple

1
2
3
4
5
()

tuple((1, 2))

tuple([1, 2, 3])

字典dict

1
{}

{} 是空dict,{‘key’: ‘value’}

1
2
3
4
5
dict(key = 'k', val = 'v')

dict([('key', 'k'), ('val', 'v')])

{'key': 'k', 'val': 'v'}

集合set

1
2
3
4
5
{'a'}

set((1, 2))

set({1, 2})

如果是空集合,是不能写 {} 的,{} 代表空dict。

空集合是 set()

1
2
3
4
5
6
7
8
9
z = zip(['a', 'b'], [1, 2], [3, 4])
list(z)
[('a', 1, 3), ('b', 2, 4)]


z = zip(['a', 'b'], [1, 2])
l = list(z)
dict(l)
{'a': 1, 'b': 2}

我们通过 matplotlib 画图时,比如:

1
2
3
4
5
6
7
8
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 400)
y = np.sin(x**2)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('中文标题')

中文会出现乱码。如图:

同时,伴随着如下错误信息:

1
2
3
4
/opt/anaconda3/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py:211: RuntimeWarning: Glyph 39064 missing from current font.
font.set_text(s, 0.0, flags=flags)
/opt/anaconda3/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py:180: RuntimeWarning: Glyph 20013 missing from current font.
font.set_text(s, 0, flags=flags)

临时解决办法,可以执行如下两条语句:

第一句是设置字体,设置了字体后,负号会变成乱码。
第二句是让负号的乱码正常显示。

1
2
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

查看配置文件位置

1
2
3
import matplotlib
matplotlib.matplotlib_fname()
'/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc'

编辑修改文件 /opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc 内容。

删除注释 #
font.family : sans-serif

删除注释 #,并加入 SimHei

font.sans-serif : SimHei, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

删除注释 #,True 改为 False

axes.unicode_minus : False

清除缓存

1
$ rm -rf ~/.matplotlib

刷新 Jupyter Notebook 的页面,发现设置已经生效了。

Windows 10 环境上修改 Jupyter Notebook 启动文件夹地址,请参考 Win10环境修改Jupyter Notebook默认文件夹位置

如何修改 mac 系统 Jupyter Notebook 启动文件夹的位置呢?

生成配置文件

1
2
3
$ jupyter notebook --generate-config
Writing default config to: /Users/simon/.jupyter/jupyter_notebook_config.py
(base)

编译文件

1
$ vi /Users/simon/.jupyter/jupyter_notebook_config.py

修改 c.NotebookApp.notebook_dir 参数,取值设为你打算启动的位置。

1
2
3
## The directory to use for notebooks and kernels.
#c.NotebookApp.notebook_dir = ''
c.NotebookApp.notebook_dir = '/Users/simon/Development/workspace/python'

保存退出,重启 Jupyter Notebook,就能指定显示该位置的内容了。