Python索引就像MATLAB的结尾/ 2

时间:2012-06-09 21:13:05

标签: python matlab syntax

MATLAB有一个非常方便的语法来获取列表的一半:

x(1:end/2)

我知道python执行此操作的语法是

x[:len(x)/2]

在这种情况下这很好,因为len(x)很容易编写。但是当列表的名称很长时(因为它们有时需要),这种语法不仅仅是一种痛苦,而且当存在类似的长名称列表时更是如此。

我知道这是一个真实的镜头,但是python有没有像MATLAB一样的语法选项?

2 个答案:

答案 0 :(得分:6)

没有专门的语法。如果你需要做很多,写一个函数:

def half_list(l):
    return l[:len(l)/2]

答案 1 :(得分:0)

不,python中的列表没有概念end(有点类似的概念是索引-1)。
一个简单(但不推荐)的问题解决方案是:

l = longnamelist
l[:len(l)/2]

或复制/粘贴长名称...(某些编辑器有复制单词的快捷方式,这样可以很容易地复制/粘贴长名称。)