我收到此错误:
追踪(最近一次通话): 文件“C:/Python27/main.py”,第21行,in 矩阵[1] [1] .append(2) IndexError:列表索引超出范围
这是我的代码
file = open("C:\\Python27\\test.txt", "r")
s1 = file.read();
s2 = file.read();
matrix = [[0 for x in range(len(s1))] for x in range(len(s2))]
matrix[1][1].append(2)
print matrix[1][1]
len(s1)
和len(s2)
大于5
我尝试使用matrix[1][1] = 2
代替matrix[1][1].append(2)
,但它不起作用。
那么我的错误是什么?
答案 0 :(得分:3)
我打印len(s1)和len(s2)。它们可能不是你所期望的。如果你想设置矩阵的第1行第1列,你可以这样做:
var Parent = React.createClass({
getInitialState : function () {
return({validate : false});
},
click : function () {
this.setState({validate : true});
},
done : function () {
this.setState({validate : false});
},
render : function () {
return (
<div>
<button onClick={this.click}>Validate children</button>
<br/>
<Child num={1} validate={this.state.validate} done={this.done}/>
<Child num={2} validate={this.state.validate} done={this.done}/>
<Child num={3} validate={this.state.validate} done={this.done}/>
</div>
);
}
});
var Child = React.createClass({
componentWillReceiveProps : function (nextProps) {
if (nextProps.validate == true && this.props.validate == false) {
var number = React.findDOMNode(this.refs.input).value;
if (number >= 1 && number <= 10) {
alert("Child " + this.props.num + " valid");
} else {
alert("Child " + this.props.num + " invalid");
}
this.props.done();
}
},
render : function () {
return (
<div>
<input type="number" min="1" max="20" ref='input'/>
</div>
);
}
});
因为否则你试图将数字2附加到(1,1)处的元素,而不是列表。