我正在尝试创建一个函数,如果某些条件为true,该函数将在数组中添加几个整数,但是我的函数始终返回空数组。我在条件验证后尝试打印整数,并且确实打印了整数,所以我想我把它们附加错了。我在这里做什么错了?
ans = np.array([[0,0]])
def q6(n):
for a in range(n):
for b in range(n):
if ((a**2+b**2)/(a*b+1))%2 == 0:
np.append(ans,[[a,b]], axis=0)
return ans
print(q6(10))
谢谢
答案 0 :(得分:1)
这是由于numpy.append()的工作方式。从文档中引用,该方法返回 arr的副本,其值附加到axis。请注意,append不会就地发生:分配并填充了一个新数组。
该方法返回const actionTextFormatter = props => {
const content = <i className="material-icons" style={{cursor: 'pointer'}} onClick={this.props.handleSolveClick}>done</i>
return content;
}
const ActionTextTypeProvider = (props) => (
<DataTypeProvider
formatterComponent={actionTextFormatter}
{...props}
/>
);
export default class ChildComponent extends React.Component {
constructor(props) {
super(props);
}
render() {
const { rows, columns } = this.props;
return (
<Paper>
<Grid
rows={rows}
columns={columns}
>
<ActionTextTypeProvider for={['action']} />
<Table />
</Grid>
</Paper>
);
}
}
,并且每次调用ans
都会返回一个新数组,而不是修改变量np.append()
本身,您将获得原始值[[0,0 ]]。