我试图让函数通过将列表的引用传递给它来修改列表。下面的程序显示,当我将列表传递给函数时,只生成了一个局部变量。有什么方法可以从函数中的列表中选择一些成员?谢谢你。
def func(list1):
list1 = list1[2:]
print(list1) # prints [2, 3]
list1 = [0, 1, 2, 3]
func(list1)
print(list1) # prints [0, 1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
Edit1:我也尝试使用以下功能。它也不起作用。也许是因为在 func2 list1 变成了一个引用 list2 的局部变量。
def func2(list1):
list2 = list1[2:]
list1 = list2
print(list1) # prints [2, 3]
list1 = [0, 1, 2, 3]
func(list1)
print(list1) # prints [0, 1, 2, 3]
Run Code Online (Sandbox Code Playgroud) 我试图使用矢量svec来存储一些字符串值.但是在Dev C++ 5.6.1编译时,编译器报告了"不匹配operator ="的错误.为什么会出现此错误以及如何解决?谢谢.
#include<vector>
#include<iostream>
#include<string>
using namespace std;
int main() {
vector<string> svec[100];
for (int i = 0; i < 100; ++i) {
svec[i] = "ABC";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
[错误]'operator ='不匹配(操作数类型是'std :: vector>'和'const char [4]')
编辑:问题出在矢量svec [100]; 把它改成矢量svec(100)后情况顺利;
edit2:我很好奇编译器对以下声明的看法.svec仍被宣布为矢量吗?
vector<string> svec[100];
Run Code Online (Sandbox Code Playgroud)