众所周知,有列表理解,比如
[i for i in [1, 2, 3, 4]]
Run Code Online (Sandbox Code Playgroud)
并且有字典理解,比如
{i:j for i, j in {1: 'a', 2: 'b'}.items()}
Run Code Online (Sandbox Code Playgroud)
但
(i for i in (1, 2, 3))
Run Code Online (Sandbox Code Playgroud)
将最终成为一个发电机,而不是tuple
理解.这是为什么?
我的猜测是a tuple
是不可变的,但这似乎不是答案.
python tuples list-comprehension dictionary-comprehension set-comprehension
在蟒蛇,它提供了很多办法模块多进程之间通信,Pipe
,Queue
,Value
,Array
和Manager
.哪个是更好的选择?
人们总是说Python不像C/C++,Java等其他语言那么高效.而且它也建议用C编写瓶颈部分.但是我从来没有遇到过这样的问题,也许是因为大多数时间是你解决问题的方式,而不是语言的效率.
任何人都可以说明任何真实情况吗?一些简单的代码会很棒.
我有一个名为的文件test
:
[test@mypc ~]$ ls -i
4982967 test
Run Code Online (Sandbox Code Playgroud)
然后我使用vim更改其内容并输入:w
以保存它.
它现在有一个不同的inode:
[test@mypc ~]$ ls -i
4982968 test
Run Code Online (Sandbox Code Playgroud)
这意味着它已经是一个不同的文件了,为什么vim将它保存到另一个文件中,因为我:w
用来保存到原始文件?
你看,echo到一个文件不会改变inode,这是预期的:
[test@mypc ~]$ echo v >> test
[test@mypc ~]$ ls -i
4982968 test
Run Code Online (Sandbox Code Playgroud)