如题。
如果定义一个list,当字符串用
name=[h,e,l,l,o];
string=[];
for k in range(0,len(name)):
string[k]=name[k];
结果报错。
这样定义string为一个空list,再往string里赋值,不能进行。
string应该怎样定义可以执行for循环?
同样问题,
定义一个integer类型array,
inta=range(0,100);
有更动态的定义方法吗?
比如定义一个含100个元素的inta,每个元素初始赋值0,这个怎样定义?
我想定义一个10*10的matrix,给定matrix的size,
应该怎样定义?
不能用下标赋值的原因是:Python里的字符串是immutable,即不可改变的,
string[2] = 'l'
这种赋值语义是无论如何也不可能的。它不能像在C/C++里的字符串这样用,倒有点像Java的字符串。你每一次连接字符串,都进行了重复的拷贝,非常不好。要把这个列表转换成字符串Pythonic的方法是:后面,生成10个0的列表可以这样定义:
[0] * 10
; 如此类推,10*10的矩阵,比如都是3,可以这样定义:[[3] * 10] * 10