TypeError: 'dict_keys' object does not support indexing

此报错的意思是说字典型数据不支持索引。换言之,除了以键值对形式获取相应值外,用索引是不能获取想要的值的。当然也有解决的办法,那就是将其转换为列表型,如下所示:

>>> adct={'a':1,'b':2} # 创建一个字典
>>> adct
{'a': 1, 'b': 2}
>>> adct.keys() # 获取字典中所有的‘键’
dict_keys(['a', 'b'])

此时如果想取出“键”中的首个字母:

>>> adct.keys()[0] # 这样是错误的
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    adct.keys()[0]
TypeError: 'dict_keys' object does not support indexing

上面这种写法会报错,我们再改进一下:

>>> list(adct)[0]  # 非常简单
'a'

达到了想要的结果。

关于Python matplotlib的制图问题

11-16
为什么x,y坐标中的标签不会半透明呢,教程中的图片如图![图片说明](https://img-ask.csdn.net/upload/201711/16/1510824867_653153.png) 但是实际的图片是这样的 ![图片说明](https://img-ask.csdn.net/upload/201711/16/1510824887_560136.png) 为什么我的没有半透明的背景呢 代码如下: ``` #!python3 # coidng="utf-8" import matplotlib.pyplot as plt import numpy as np if __name__ == "__main__": X = np.linspace(-np.pi, np.pi, 256, endpoint=True) S, Y = np.sin(X), X plt.figure(figsize=(10, 6), dpi=80) plt.subplot(111) plt.xlim(-np.pi * 1.1, np.pi * 1.1) plt.ylim(min(Y) * 1.1, max(Y) * 1.1) plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi], [r"$-\pi$", r"$-\pi/2$", r"$0$", r"$+\pi/2$", r"$+\pi$"]) plt.yticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi], [r"$-\pi$", r"$-\pi/2$", r"$0$", r"$+\pi/2$", r"$+\pi$"]) ax = plt.gca() ax.spines["top"].set_color("none") ax.spines["right"].set_color("none") ax.xaxis.set_ticks_position("bottom") ax.yaxis.set_ticks_position("left") ax.spines["bottom"].set_position(["data", 0]) ax.spines["left"].set_position(["data", 0]) for each in ax.get_xticklabels() + ax.get_yticklabels(): each.set_fontsize(16) each.set_bbox(dict(facecolor="white", edgecolor="None", alpha=0.65)) plt.plot(X, S, linewidth=2.5, color="blue", linestyle="-") plt.plot(X, Y, linewidth=2.5, color="red", linestyle="-") t = np.pi / 2 plt.plot([t, t], [0, 1], linewidth=1.5, color="blue", linestyle="--") plt.plot([0, t], [1, 1], linewidth=1.5, color="blue", linestyle="--") plt.scatter([t, ], [1, ], 50, color="blue") plt.plot([-t, -t], [0, -t], linewidth=1.5, color="red", linestyle="--") plt.plot([0, -t], [-t, -t], linewidth=1.5, color="red", linestyle="--") plt.scatter([-t, ], [-t, ], 50, color="red") plt.annotate(r"$\sin(\frac{\pi}{2})=1$", xy=(t, 1), xycoords="data", xytext=(+10, +20), textcoords="offset points", fontsize=16, arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) plt.annotate(r"$(\frac{-\pi}{2},\frac{-\pi}{2})$", xy=(-t, -t), xycoords="data", xytext=(+10, -20), textcoords="offset points", fontsize=16, arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) plt.savefig(r'C:\Users\rengz\Desktop\exercice_7.png') plt.show() ``` 附图 ![图片说明](https://img-ask.csdn.net/upload/201711/16/1510825148_257177.png)
©️2020 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值