小编Pik*_*les的帖子

将列表的每三个元素乘以2

输入数据:[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)

python iteration collections list-comprehension list

0
推荐指数
1
解决办法
104
查看次数

什么时候使用包容性和独家范围是好的?

是否有理由使用包容范围而不是排他范围,反之亦然?使用它更好吗:

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)

或者他们只是两种表达完全相同的方式?

ruby range

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

为什么表达式可以在函数调用中跨越多行而不是赋值?

我刚刚意识到,当它作为参数传递给函数时,可以跨多行拉伸语句:

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

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

为什么不删除"auto"关键字?

既然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对这种情况很好)

c++ initialization auto c++11

-24
推荐指数
1
解决办法
1031
查看次数