小编Pin*_*ngk的帖子

Python在OrderedDict中选择第i个元素

我有一段代码按字母顺序排序.有没有办法在有序字典中选择第i个键并返回其相应的值?即

import collections
initial = dict(a=1, b=2, c=2, d=1, e=3)
ordered_dict = collections.OrderedDict(sorted(initial.items(), key=lambda t: t[0]))
print(ordered_dict)

OrderedDict([('a', 1), ('b', 2), ('c', 2), ('d', 1), ('e', 3)])
Run Code Online (Sandbox Code Playgroud)

我希望有一些功能......

select = int(input("Input dictionary index"))
#User inputs 2
#Program looks up the 2nd entry in ordered_dict (c in this case)
#And then returns the value of c (2 in this case)
Run Code Online (Sandbox Code Playgroud)

怎么能实现这一目标?谢谢.

(类似于在有序指令中访问项目,但我只想输出键值对的值.)

python ordereddictionary python-3.x

19
推荐指数
3
解决办法
1万
查看次数

将numpy数组保存到csv会产生TypeError Mismatch

我有一个numpy数组,其中包含以下形式的数值数据:

example = numpy.array([[[i for i in range(0, 5)],[0 for j in range(0, 5)]] for k in range(0, 10)])
Run Code Online (Sandbox Code Playgroud)

因此它是10个组的数组,其中每个组由2个相等长度的列表组成,仅包含数字.运行以下保存代码会给出以下错误:

numpy.savetxt('exampleData.csv', test, delimiter=',')
TypeError: Mismatch between array dtype ('int32') and format specifier ('%.18e %.18e')
Run Code Online (Sandbox Code Playgroud)

我猜这可以通过fmt ='xyz'参数中的某些内容修复,但文档并不是特别清楚.任何帮助,将不胜感激.

(在我的实际数据中,i和j列表是长浮点数列表,例如'0047322940571'等)

python csv arrays numpy typeerror

9
推荐指数
1
解决办法
2万
查看次数

Python 3 Base64 解码弄乱换行符

我试图通过标准 python 库解码 base64 多行文件,但是只有第一行被解码,其余的被无缘无故地转储。

为什么是这样?

编码之前的文件(解码后我试图实现的目标):

数据文件.dat

版本:BenWin+ 版本:3.0.12.1[CR]

[CR][LF]

创建时间:2016 年 9 月 1 日 12:56:27 PM[CR]

[CR][LF]

时间代码:0x907e0、0x10004、0x38000c、0x242001b[CR]

[CR][LF]

...

[CR]和[LF]分别是回车符(\r)和换行符(\n)的字符代码

我使用 base64.b64encode 对文件进行 Base64 编码,并希望稍后对其进行解码。这是我的代码片段。

encodedData = b'VkVSU0lPTjogQmVuV2luKyBWZXJzaW9uOiAzLjAuMTIuMQo=Cg==Q1JFQVRFRDogMDEgU2VwdGVtYmVyIDIwMTYgMTI6NTY6MjcgUE0KCg==VElNRSBDT0RFOiAweDkwN2UwLCAweDEwMDA0LCAweDM4MDAwYywgMHgyNDIwMDFiCg==Cg=='

data = base64.b64decode(encodedData)
print(data)
Run Code Online (Sandbox Code Playgroud)

哪个返回

b'版本:BenWin+ 版本:3.0.12.1\n'

提前致谢。使用Python 3.5

python base64 decoding

3
推荐指数
1
解决办法
8780
查看次数

如何在Python 3.5,PyQt5中调整QMessageBox的大小

我的 QMessageBox 太短了。

我尝试过各种增加高度的方法,例如resize、setMinimumHeight、setSizeIncrement + setSizeGripEnabled,但这些尝试都不起作用。设置 SizeGrip 根本不允许我调整窗口大小。

dialog = QMessageBox(self)

dialog.setWindowTitle('About this programme')
dialog.setText('Introductory text')
dialog.setDetailedText('A bunch more text')

dialog.setMinimumHeight(500)
dialog.setSizeIncrement(1, 1)
dialog.setSizeGripEnabled(True)

dialog.show()
Run Code Online (Sandbox Code Playgroud)

作为图片参考,标记为 Rotascript 的窗口大小为 360x、370y。

我做错了什么,或者这是某种错误?

提前致谢。

屏幕为 27 英寸 1080p 显示屏

python-3.x pyqt5

2
推荐指数
1
解决办法
9257
查看次数