标签: variable-assignment

R中`=`和`<-`之间有什么区别?

可能重复:
R中的赋值运算符:'='和'< - '

我正在使用R 2.8.1并且可以使用它们=<-作为变量赋值运算符.他们之间有什么区别?我应该使用哪一个?

r variable-assignment assignment-operator

103
推荐指数
2
解决办法
7万
查看次数

为多个变量分配相同的值

如何在PHP中为多个变量分配相同的值?

我有类似的东西:

$var_a = 'A';
$var_b = 'A';
$same_var = 'A';
$var_d = 'A';
$some_var ='A';
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我不能将所有变量重命名为具有相同的名称(这会使事情变得更容易),那么有没有办法以更紧凑的方式为所有变量分配相同的值?

php variables variable-assignment

103
推荐指数
2
解决办法
5万
查看次数

为什么i = i +我给我0?

我有一个简单的程序:

public class Mathz {
    static int i = 1;
    public static void main(String[] args) {    
        while (true){
            i = i + i;
            System.out.println(i);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个程序,我看到的是0i我的输出.我原本预计会有第一次i = 1 + 1,然后是i = 2 + 2,然后是i = 4 + 4等等.

这是因为我们一旦尝试i在左侧重新声明,它的值会重置为0

如果有人能指出我更精细的细节,这将是伟大的.

更改intlong,似乎是按预期打印数字.我惊讶于它达到最大32位值的速度有多快!

java math variable-assignment

96
推荐指数
4
解决办法
2万
查看次数

在Python中使用lambda表达式进行赋值

我有一个对象列表,我想删除所有空的对象,除了一个,使用filterlambda表达式.

例如,如果输入是:

[Object(name=""), Object(name="fake_name"), Object(name="")]
Run Code Online (Sandbox Code Playgroud)

...那么输出应该是:

[Object(name=""), Object(name="fake_name")]
Run Code Online (Sandbox Code Playgroud)

有没有办法为lambda表达式添加赋值?例如:

flag = True 
input = [Object(name=""), Object(name="fake_name"), Object(name="")] 
output = filter(
    (lambda o: [flag or bool(o.name), flag = flag and bool(o.name)][0]),
    input
)
Run Code Online (Sandbox Code Playgroud)

python lambda expression variable-assignment

94
推荐指数
11
解决办法
9万
查看次数

Python中a - = b和a = a - b之间的区别

我最近应用这个解决方案来平均每N行矩阵.虽然解决方案通常起作用,但在应用于7x1阵列时遇到了问题.我注意到问题是在使用-=运算符时.举一个小例子:

import numpy as np

a = np.array([1,2,3])
b = np.copy(a)

a[1:] -= a[:-1]
b[1:] = b[1:] - b[:-1]

print a
print b
Run Code Online (Sandbox Code Playgroud)

哪个输出:

[1 1 2]
[1 1 1]
Run Code Online (Sandbox Code Playgroud)

因此,在数组的情况下a -= b产生不同的结果a = a - b.直到现在我才想到这两种方式完全相同.有什么不同?

为什么我提到的用于求和矩阵中每N行的方法是如何工作的,例如7x4矩阵而不是7x1阵列?

python arrays numpy in-place variable-assignment

88
推荐指数
3
解决办法
6841
查看次数

为什么C++支持在结构中成员分配数组,但一般不支持?

我理解不支持成员分配数组,因此以下方法不起作用:

int num1[3] = {1,2,3};
int num2[3];
num2 = num1; // "error: invalid array assignment"
Run Code Online (Sandbox Code Playgroud)

我只是接受了这个事实,认为该语言的目的是提供一个开放式框架,并让用户决定如何实现诸如复制数组之类的东西.

但是,以下工作正常:

struct myStruct { int num[3]; };
struct myStruct struct1 = {{1,2,3}};
struct myStruct struct2;
struct2 = struct1;
Run Code Online (Sandbox Code Playgroud)

该数组num[3]是从其实例中成员分配struct1到其实例中的struct2.

为什么结构支持成员方式的数组,但一般情况下不支持?

编辑:Roger Pate 在结构中的线程std :: string中的注释- 复制/赋值问题?似乎指向答案的大致方向,但我不知道自己确认.

编辑2:许多出色的回应.我之所以选择Luther Blissett,是因为我对这种行为背后的哲学或历史原理很感兴趣,但James McNellis对相关规范文档的引用也很有用.

c c++ arrays struct variable-assignment

82
推荐指数
2
解决办法
7481
查看次数

在C++中复制构造函数和=运算符重载:可能是一个常见的函数吗?

自复制构造函数

MyClass(const MyClass&);
Run Code Online (Sandbox Code Playgroud)

和=运算符重载

MyClass& operator = (const MyClass&);
Run Code Online (Sandbox Code Playgroud)

有几乎相同的代码,相同的参数,只有不同的返回,是否有可能有一个共同的功能,他们都使用?

c++ c++-faq variable-assignment copy-constructor

81
推荐指数
2
解决办法
7万
查看次数

在LHS中为一行分配多个新变量

我想在R中的一行中分配多个变量.是否可以这样做?

values # initialize some vector of values
(a, b) = values[c(2,4)] # assign a and b to values at 2 and 4 indices of 'values'
Run Code Online (Sandbox Code Playgroud)

通常我想在一行中分配大约5-6个变量,而不是多行.还有其他选择吗?

variables tuples r variable-assignment assign

79
推荐指数
10
解决办法
5万
查看次数

的JavaScript.将数组值分配给多个变量?

var a,b,c;
var arr = [1,2,3];
[a,b,c] = arr;
Run Code Online (Sandbox Code Playgroud)

此代码在Firefox中完美运行,导致a = 1,b = 2和c = 3,
但它在Chrome中不起作用.它是Chrome错误还是
无效的javascript代码?(我没能在javascript参考中找到它)

如何修改此代码以使其适用于Chrome,对其造成的损害最小?
(我真的不想写a = arr [0]; b = arr [1] ...或者一直使用arr.shift()

PS这只是一个示例代码,在实际代码中
我从代码之外的某处获取arr数组

javascript arrays variable-assignment

78
推荐指数
2
解决办法
5万
查看次数

为什么我可以在Python for循环中为迭代器和序列使用相同的名称?

这更像是一个概念性问题.我最近在Python中看到了一段代码(它在2.7中工作,也可能在2.5中运行),其中一个for循环对迭代的列表和列表中的项使用相同的名称,这既是一种糟糕的做法,也是一种根本不起作用的东西.

例如:

x = [1,2,3,4,5]
for x in x:
    print x
print x
Run Code Online (Sandbox Code Playgroud)

产量:

1
2
3
4
5
5
Run Code Online (Sandbox Code Playgroud)

现在,我觉得打印的最后一个值是从循环中分配给x的最后一个值,但是我不明白为什么你能够为for循环的两个部分使用相同的变量名并且它按预期运作.它们在不同的范围内吗?引擎盖下发生了什么让这样的事情发挥作用?

python for-loop variable-assignment python-internals

78
推荐指数
3
解决办法
4618
查看次数