1 Java代码示例
//定义一个类
class Triple {int user;int item;double rating;
}
//声明对象数组
Triple[] dataset = new Triple[20];
//利用对象数组访问成员变量
for(int i = 0; i < dataset.length; i ++){dataset[i].user = 0; dataset[i].item = 0dataset[i].rating = 0;
}
问题一:如何利用python实现类似功能呢?
问题二:如何利用python将对象数组作为参数?
public void function1(Triple[] paraDataset){for(int i = 0; i < paraDataset.length; i ++){paraDataset[i].user = 0; paraDataset[i].item = 0paraDataset[i].rating = 0;}
}
2 Python代码(针对问题1)
#定义一个类
class Triple:def __init__(self, para_user: int = 0, para_item: int = 0, para_rating: float = 0):self.user = para_userself.item = para_itemself.rating = para_rating
#声明一维对象数组
dataset = [Triple() for _ in range(20)]
#声明二维对象数组
dataset = [[Triple() for _ in range(5)] for _ in range(4)]
#利用对象数组访问成员变量
for i in range(20):dataset[i].user = 0dataset[i].item = 0dataset[i].rating = 0
3 对象数组作为参数(针对问题2)
#参数可以不指定类型
def function1(param = None):for i in range(20):param[i].user = 0param[i].item = 0param[i].rating = 0
因为python是动态类型,所以在编写代码的时候并不会提示。