小编Fri*_*Sky的帖子

我的列表或元组或任何类似数据结构中的变量如何将其更改反映在列表中?

我不太清楚如何表达它,所以我会证明我的意思.

a = 1
b = 2
my_list = [a,b]
print my_list # [1,2]

a = a + 1
b = b * 2
print a # 2
print b # 4

# prints [1,2] but I want [2,4]
print my_list
Run Code Online (Sandbox Code Playgroud)

这也发生在元组和集合中.我需要什么数据结构?或者我需要什么逻辑?

python python-2.7

4
推荐指数
1
解决办法
54
查看次数

哪个是为嵌套循环声明虚拟变量的更好方法?

  1. 方法1的优点是文件大小略小,因为源代码中的文本字符较少:

    int i, j;
    for (i = 0; i < numRows; i++)
        for (j = 0; j < numCols; j++)
        //<some code here>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 方法2的优点是局部变量的范围较小.

    int i;
    for (i = 0; i < numRows; i++)
    {
        int j;
        for (j = 0; j < numCols; j++)
        //<some code here>
    }
    
    Run Code Online (Sandbox Code Playgroud)

即使在今天的现代计算机中优化的差异可以忽略不计,哪种方法被认为是"更好"的代码?


编辑以澄清此问题不重复:

这个问题是基于当前的C11标准,它不允许这样的语法:

for (int i = 0; i < numRows; i++)
Run Code Online (Sandbox Code Playgroud)

在C++和C99中,这种语法是完全可以接受的,而C11不允许在for语句中使用变量声明.


编辑以纠正错误信息:

我以为我正在使用C11,因为我最近从CodeBlocks下载了编译器,所以这就是为什么我说C11不允许声明中的变量声明for.但事实证明我实际上使用的是C90,这是我问题的根源.

c nested-loops

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

标签 统计

c ×1

nested-loops ×1

python ×1

python-2.7 ×1