我有一个函数列表,我想有时使用整个事情,有时只是一个部分取决于偏移量变量。有时我想将偏移量应用于开始,有时结束。如何将变量放入列表切片操作中?
我知道
my_list = my_list[:]
会给我一样的列表,
start= None
end = None
my_list[start:end]
似乎做同样的事情。
但麻烦的是,有时我想增加参数,但我不能将1添加到无。 (开始似乎少了,因为我可以把它初始化为0的问题)
我想有这样的:
my_list[start: end + offset]
有时我甚至想恒定卡在那里,如
my_list[start: end -1 + offset]
我很累,因为我写这个很抱歉,如果这很容易。
编辑 - 我的最终溶液....
我随后与改变我的偏移可变进的思想相结合使用(如在溶液中所描述的)的结束参数的长度的想法两个变量。细节如下...
整个想法是,我有一个函数比较两个列表中的元素。默认情况下,偏移量为零,因此一个元素中的第一个元素与另一个元素的第一个元素进行比较。然后我想要有一个偏移量,以便将第一个元素与另一个元素的第二个元素(或第三个元素等)进行比较。
因为我想要在不同的地方以不同的方式使用偏移量,所以我发现必须处理偏移量,以前两个变量...
if offset < 0:
neg_offset = abs(offset)
if offset > 0:
pos_offset = offset
然后,我把两个列表中我的功能是这样的:当列表的长度相同...
get_list_comparison(my_first_list[pos_offset: len(my_first_list)-neg_offset], my_second_list[neg_offset: len(my_second_list)-pos_offset])
当第二列表比第一个列表短:
get_list_comparison(my_first_list[pos_offset:len(my_first_list)-1-neg_offset], my_second_list[neg_offset: len(my_second_list)-pos_offset])
当列表不均匀时,我想我可以计算出来的差异,而不是硬编码的-1(或-2等),但这足以为我工作。
你就不能设置'结束= LEN(my_list)'? –