输入数据:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
输出数据:[1, 2, 6, 4, 5, 12, 7, 8, 18, 10]
我读了很多答案,建议在其中使用包含第一个元素的切片符号。但就我而言,我应该将列表的每个第3个元素都包含在内。
有可能提高我的认识吗?
for index in range(len(data)):
if (index + 1) % 3 == 0:
data[index] = data[index] * 2
Run Code Online (Sandbox Code Playgroud) 是否有理由使用包容范围而不是排他范围,反之亦然?使用它更好吗:
for i in 1..10
puts i
end
Run Code Online (Sandbox Code Playgroud)
或这个:
for i in 1...11
puts i
end
Run Code Online (Sandbox Code Playgroud)
或者他们只是两种表达完全相同的方式?
我刚刚意识到,当它作为参数传递给函数时,可以跨多行拉伸语句:
print(1 ==
1)
Run Code Online (Sandbox Code Playgroud)
但是,在变量赋值期间执行相同的操作会引发SyntaxError
:
x = 1 ==
1
Run Code Online (Sandbox Code Playgroud)
为什么第一个例子有效但第二个例子产生了SyntaxError
?
python expression indentation parameter-passing variable-assignment
既然auto
关键字是在c ++ 11中引入的,我认为我们应该能够删除指定auto
并简单地将变量初始化为v = 20
.由于C++能够自己推断变量的类型,为什么不将auto
关键字全部放在一起,并在第一次初始化时推导出变量的类型.
即代替
int main() {
auto v = 20;
}
Run Code Online (Sandbox Code Playgroud)
为什么不说
int main() {
v = 20;
}
Run Code Online (Sandbox Code Playgroud)
(假设没有与全局变量冲突,因为python对这种情况很好)
python ×2
auto ×1
c++ ×1
c++11 ×1
collections ×1
expression ×1
indentation ×1
iteration ×1
list ×1
range ×1
ruby ×1