“Python”的版本间的差异

来自wrc's Wiki
跳到导航 跳到搜索
(建立内容为“== 外部链接 == * [https://www.python.org/ 主页] * [https://docs.python.org/ 文档] Category:Python”的新页面)
 
 
(未显示同一用户的5个中间版本)
第1行: 第1行:
 +
== 笔记 ==
 +
 +
=== 数据结构 ===
 +
 +
* 需要队列时使用 [https://docs.python.org/3/library/collections.html#collections.deque <code>collections.deque</code>],<code>queue</code> 模块是用于多线程同步的
 +
 +
=== 复杂度 ===
 +
 +
* <code>len(a_list)</code> 复杂度为 O(1)
 +
* <code>len(a_str)</code> 复杂度为 O(1)
 +
*: 使用 {{code|python|2=python -m timeit -s 's = "abcde"*10000' 'len(s)'}} 测试,更改 <code>s</code> 的长度
 +
 +
== 例子 ==
 +
 +
=== 实现 [[Rust]] 中的 <code>Iterator::skip</code> ===
 +
 +
忽略一个迭代器的前 n 个元素。
 +
 +
<ref>[https://docs.python.org/3/library/itertools.html#itertools.islice itertools.islice 的文档]</ref>
 +
 +
<syntaxhighlight lang=python>
 +
itertools.islice(iterable, stop)
 +
itertools.islice(iterable, start, stop[, step])
 +
</syntaxhighlight>
 +
 +
<syntaxhighlight lang=python>
 +
from itertools import islice
 +
 +
islice(iterator, n, None)
 +
</syntaxhighlight>
 +
 +
=== 类的静态方法 ===
 +
 +
<syntaxhighlight lang=python>
 +
class Example:
 +
    @classmethod
 +
    def load(cls, filepath):
 +
        obj = cls.__new__(cls)
 +
        obj.foo = somefunc(filepath)
 +
        return obj
 +
</syntaxhighlight>
 +
 
== 外部链接 ==
 
== 外部链接 ==
  
 
* [https://www.python.org/ 主页]
 
* [https://www.python.org/ 主页]
 
* [https://docs.python.org/ 文档]
 
* [https://docs.python.org/ 文档]
 +
 +
== 参考资料 ==
 +
 +
<references />
  
 
[[Category:Python]]
 
[[Category:Python]]

2021年7月15日 (四) 17:49的最新版本

笔记

数据结构

复杂度

  • len(a_list) 复杂度为 O(1)
  • len(a_str) 复杂度为 O(1)
    使用 python -m timeit -s 's = "abcde"*10000' 'len(s)' 测试,更改 s 的长度

例子

实现 Rust 中的 Iterator::skip

忽略一个迭代器的前 n 个元素。

[1]

itertools.islice(iterable, stop)
itertools.islice(iterable, start, stop[, step])
from itertools import islice

islice(iterator, n, None)

类的静态方法

class Example:
    @classmethod
    def load(cls, filepath):
        obj = cls.__new__(cls)
        obj.foo = somefunc(filepath)
        return obj

外部链接

参考资料