问题标签 [python]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python中最有效的图数据结构是什么?
我需要能够在 python 中操作一个大的(10^7 个节点)图。每个节点/边对应的数据是最少的,比如说,少量的字符串。就内存和速度而言,最有效的方法是什么?
dict 的 dict 更灵活、更易于实现,但我直观地希望列表列表更快。list 选项还要求我将数据与结构分开,而 dicts 将允许以下内容:
你有什么建议?
是的,我应该更清楚我所说的效率是什么意思。在这种特殊情况下,我的意思是随机访问检索。
将数据加载到内存中并不是一个大问题。这是一劳永逸的。耗时的部分是访问节点,以便我可以提取信息并测量我感兴趣的指标。
我没有考虑将每个节点都设为一个类(所有节点的属性都相同),但似乎这会增加额外的开销层?我希望有人对他们可以分享的类似案例有一些直接的经验。毕竟,图是 CS 中最常见的抽象之一。
python - 你如何在 Python 中表达二进制文字?
如何使用 Python 文字将整数表示为二进制数?
我很容易找到十六进制的答案:
和八进制:
如何在 Python 中使用文字来表达二进制?
答案摘要
- Python 2.5 及更早版本:可以使用
int('01010101111',2)
但不能使用文字来表示二进制。 - Python 2.5 及更早版本:无法表达二进制文字。
- Python 2.6 beta:你可以这样做:
0b1100111
或0B1100111
. - Python 2.6 beta:也将允许
0o27
或0O27
(第二个字符是字母 O)表示八进制。 - Python 3.0 beta:与 2.6 相同,但不再允许使用旧
027
的八进制语法。
python - 有任何使用协议缓冲区的经验吗?
我只是在查看有关 Google协议缓冲区数据交换格式的一些信息。有没有人玩过代码,甚至围绕它创建了一个项目?
我目前在 Python 项目中使用 XML 来处理在文本编辑器中手动创建的结构化内容,我想知道关于 Protocol Buffers 作为面向用户的输入格式的一般意见是什么。速度和简洁的好处似乎确实存在,但在实际生成和处理数据时有很多因素。
python - 如何制作不需要用户按 [enter] 进行选择的菜单?
我有一个 Python 菜单。那部分很容易。我raw_input()
用来从用户那里获得选择。
问题是raw_input
(和输入)要求用户Enter在做出选择后按下。有没有办法让程序在击键时立即行动?这是我到目前为止所得到的:
有类似的东西会很棒
python - Python:我在什么操作系统上运行?
我需要查看什么来查看我使用的是 Windows 还是 Unix 等?
python - Python:(1,2,3) 和 [1,2,3] 有什么区别,我应该什么时候使用它们?
在许多地方,(1,2,3)
(元组)和[1,2,3]
(列表)可以互换使用。
我什么时候应该使用其中一种,为什么?
php - 通过 FTP 将文件复制到服务器后的文件大小差异
我创建了一个 PHP 脚本来更新位于本地目录中的 Web 服务器。我正在将脚本迁移到 Python 中。它在大多数情况下都可以正常工作,但是在执行 PUT 命令之后,文件的大小似乎发生了变化。因此,文件的大小与服务器上文件的大小不同。
一旦我再次从 FTP 服务器下载文件,唯一的区别就是 CR/LF 标记。这让我很恼火,因为同一个脚本正在比较要更新的文件的大小。此外,如果它意味着什么,该脚本可以通过 ftp_put 在 PHP 中完美运行。
有什么建议么?
python - 使用 Python 创建可直接执行的跨平台 GUI 应用程序
Python 可以在多个平台上工作,并且可以用于桌面和 Web 应用程序,因此我得出结论,有一些方法可以将它编译成 Mac、Windows 和 Linux 的可执行文件。
问题是我不知道从哪里开始或如何用它编写 GUI,任何人都可以对此有所了解并指出正确的方向吗?
python - 使用模块名称(字符串)调用模块的函数
在 Python 程序中给定带有函数名称的字符串,调用函数的最佳方法是什么。例如,假设我有一个 module foo
,并且我有一个字符串,其内容是"bar"
. 最好的打电话方式是foo.bar()
什么?
我需要获取函数的返回值,这就是为什么我不只使用eval
. 我想出了如何通过使用eval
定义一个返回该函数调用结果的临时函数来做到这一点,但我希望有一种更优雅的方式来做到这一点。
python - 教初学者编程的最佳方法?
原始问题
我目前正在教我的兄弟编程。他是一个完全的初学者,但非常聪明。(他实际上想学习)。我注意到我们的一些会议在一些小细节上陷入了困境,而且我觉得我的组织不够有序。(但这篇文章的答案有很大帮助。)
我能做些什么来更好地教他?是否有一个逻辑顺序可以用来逐个概念地运行?有没有我应该在以后避免的复杂性?
我们使用的语言是Python,但欢迎任何语言的建议。
如何帮助
如果你有好的,请在你的答案中添加以下内容:
- 初学者练习和项目构想
- 初学者教学资源
- 截屏视频/博客文章/免费电子书
- 印刷适合初学者的书籍
请用链接描述该资源,以便我查看。我想让每个人都知道,我肯定一直在使用其中的一些想法。您提交的内容将汇总在此帖子中。
面向初学者的在线资源:
- 使用 Python 进行编程的简单介绍
- 如何像计算机科学家一样思考
- Alice:适合初学者的 3D 程序
- Scratch(开发编程技能的系统)
- 如何设计程序
- 计算机程序的结构和解释
- 学习编程
- Robert Read 如何成为一名程序员
- 微软 XNA
- 催生下一代黑客
- COMP1917 Richard Buckland 的高等计算讲座(需要 iTunes)
- 潜入 Python
- Python 维基书
- Project Euler - 示例问题(主要是数学问题)
- pygame - 一个用于创建游戏的简单 python 库
- 用 Python 发明你自己的电脑游戏
- 超越基础的下一步编程基础。
- 举例说明
- 为孩子们争吵的蛇(这不仅仅是为孩子们准备的!)
推荐给初学者的印刷书籍