小编Fro*_*ame的帖子

vim或其他地方的文件编码和编码的基本原理

我不明白为什么有这个encoding以及fileencoding在VIM中.

据我所知,文件就像一个字节数组.当我们创建一个文本文件时,我们创建一个字符(或符号)数组,并将这个带有X编码的字符数组编码为一个字节数组,并将字节数组保存到磁盘上.在文本编辑器中读取时,它使用编码X解码字节数组以重建原始字符数组,并根据字体显示每个字符的图形.在此过程中,只涉及一种编码.

VIM中设置编码和fileencoding utf-8,它引用VIM的wiki关于使用unicode,

encoding设置vim如何在内部表示字符.对于大多数Unicode来说,Utf-8是必需的.

fileencoding设置特定文件编码(缓冲区本地)

" vim如何在内部表示字符 "vs" 特定文件的编码 "... ...转发Unicode与UTF-8?如果是这样,为什么用户会为前者烦恼呢?

任何提示?

unicode vim encoding utf-8

4
推荐指数
2
解决办法
217
查看次数

six.moves.builtins.range在Python 2和Python 3中不一致

对于一个非常大的整数范围,xrange应该使用(Python 2),它range在Python 3中重命名.我假设模块six可以提供一致的写作原因.

但我发现six.moves.builtins.range在Python 2中返回一个列表,在Python 3中返回一个可迭代的非列表对象,就像名字range一样.

此外,six.moves.builtins.xrangePython 2中不存在.

我使用了错误的功能six吗?或者六个根本没有提供rangexrange功能的解决方案?

我知道我可以相应地测试sys.version[0]和重命名该功能.我只是在寻找"不要重复自己"的解决方案.

附加

如mgilson所述:

>>> import six 
>>> six.moves.range
AttributeError: '_MovedItems' object has no attribute 'range'
Run Code Online (Sandbox Code Playgroud)

它是与版本相关的东西six,还是没有这样的东西six.moves.range

python portability

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

从熊猫元组列表中选择行

我有一个DataFrame这样的:

In [140]: df.head()
Out[140]: 
   user  brand  action  nthday
0   767   3961       0      51
1   767   3961       2      51
2   767   3961       2      51
3   767   3961       0      51
4   767   3961       0      51
Run Code Online (Sandbox Code Playgroud)

我想选择带有元组列表的行,如下所示:

mylist = [(767, 3961), (768, 4201),...]
Run Code Online (Sandbox Code Playgroud)

我可以做我想要的:

# ( (767, 3961, 0, 51), ... )
intermediate_ = ( tuple(r) for (i,r) in df.iterrows() if tuple(r)[:2] in set(mylist))

# reconstruct a DataFrame
subdf = DataFrame(intermediate_, columns = ['user', 'brand', 'action', ..])
Run Code Online (Sandbox Code Playgroud)

这可行,但笨拙且缓慢。推荐的方式是pandas什么?

python pandas

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

dict __getitem__会创建相应对象的副本吗?

我从这里看到了以下代码.

d[key] = data   # store data at key (overwrites old data if
                # using an existing key)
data = d[key]   # retrieve a COPY of data at key (raise KeyError if no
                # such key)
Run Code Online (Sandbox Code Playgroud)

我不明白这样做的意思.据说retrieve a COPY of data at key.似乎dict查找(getitem,或索引,哪一个是正确的术语?)将成为对象的应对?对?

python deep-copy

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

标签 统计

python ×3

deep-copy ×1

encoding ×1

pandas ×1

portability ×1

unicode ×1

utf-8 ×1

vim ×1