Python:附加到空列表数组
如何声明稍后要追加的空列表数组 我有一个包含如下用户电影数据的文件:UserID::MovieID::Rating::Time,但每个UserID的条目数量可能不同。(例如:UserID=1可能有2个条目,UserID=2可能有5个条目。) 1::1193::5::978300760Python:附加到空列表数组,python,Python,如何声明稍后要追加的空列表数组 我有一个包含如下用户电影数据的文件:UserID::MovieID::Rating::Time,但每个UserID的条目数量可能不同。(例如:UserID=1可能有2个条目,UserID=2可能有5个条目。) 1::1193::5::978300760 1::661::3::978302109 .. 2418::3408::4::978300275 2418::2355::5::978824291 对于每个UserID,声明一个空列表以包含评级(movieid)>
1::661::3::978302109
..
2418::3408::4::978300275
2418::2355::5::978824291 对于每个UserID,声明一个空列表以包含评级(movieid)>3
我也尝试了
[[]范围(num\u user\u id)]
,但没有成功。其中一个选项是使用dict
,如下所示
num_user_id = 2418
user_adj_list = [None]*num_user_id
path = "/home/Desktop/ml-1m/ratings.dat"
source_file = open(path)
# line = UserID::MovieID::Rating::Timestauser_adj_list
user_adj_list = dict()
for line in source_file:
user_id, movie_id, rating, time_stauser_adj_list = line.split("::")
if user_id not in user_adj_list:
user_adj_list[user_id] = []
if int(rating) > 3:
user_adj_list[int(user_id)-1].append(int(movie_id))
为什么不使用一个以用户ID为键的dict呢?您能扩展一下“它不起作用”吗?我想你的意思是
[[]用于范围内(…)]
。我有“user\u adj\u list=[[[]范围内(num\u user\u id)]”,但抛出了错误“AttributeError:'bool'对象没有属性'append'
num_user_id = 2418
user_adj_list = [None]*num_user_id
path = "/home/Desktop/ml-1m/ratings.dat"
source_file = open(path)
# line = UserID::MovieID::Rating::Timestauser_adj_list
user_adj_list = dict()
for line in source_file:
user_id, movie_id, rating, time_stauser_adj_list = line.split("::")
if user_id not in user_adj_list:
user_adj_list[user_id] = []
if int(rating) > 3:
user_adj_list[int(user_id)-1].append(int(movie_id))