我正在用python编写一组脚本,我来到了这个:
line = "a b c d e f g"
a, b, c, d, e, f, g = line.split()
我很清楚这些是在实施过程中做出的决定,但python不应该(或确实)提供类似的东西:
_, _, var_needed, _, _, another_var_needed, _ = line.split()
以及 Prolog 确实提供,以排除著名的singleton variables
.
我不确定,但它不会避免不必要的分配吗?或者创建对split
调用结果的引用不计入开销?
编辑:
抱歉,我的意思是:在 Prolog 中,就我而言,表达如下:
test(L, N) :-
test(L, 0, N).
test([], N, N).
test([_|T], M, N) :-
V is M + 1,
test(T, V, N).
表示的变量_
是不可访问的,因为我认为对列表中确实存在的值的引用[_|T]
甚至没有创建。
但是,在 Python 中,如果我使用_
,我可以使用分配给 的最后一个值_
,而且,我确实假设每个变量都发生了分配_
——这可能被认为是一种开销。
我的问题是是否不应该(或是否有)一种语法来避免这种不必要的归属。