用python写一段代码,处理两个二维列表,第一个二维列表,每一行数据逐个代表用户id,项目id1,项目id2,项目id3,有很多行组成。第二个二维数组每一行是用户id,项目id,时间戳。我想要把第一个列表中每一行的用户与项目在第二个列表中找到对应的时间戳,这个时间戳生成一个新的二维列表,python代码该怎么写
时间: 2023-12-23 12:06:31 浏览: 94
可以使用Python的嵌套循环来实现这个需求。具体代码如下:
```python
# 第一个二维列表
user_project = [
[1, 1001, 1002, 1003],
[2, 1002, 1003, 1004],
[3, 1001, 1003, 1005]
]
# 第二个二维列表
user_project_time = [
[1, 1001, '2021-01-01'],
[1, 1002, '2021-01-02'],
[1, 1003, '2021-01-03'],
[2, 1002, '2021-01-04'],
[2, 1003, '2021-01-05'],
[2, 1004, '2021-01-06'],
[3, 1001, '2021-01-07'],
[3, 1003, '2021-01-08'],
[3, 1005, '2021-01-09']
]
# 新的二维列表
result = []
# 遍历第一个二维列表
for row in user_project:
user_id = row[0] # 获取用户id
for project_id in row[1:]: # 遍历该用户的所有项目id
for data in user_project_time: # 在第二个二维列表中查找该用户和项目对应的时间戳
if data[0] == user_id and data[1] == project_id:
result.append([user_id, project_id, data[2]]) # 将该用户和项目对应的时间戳添加到新的二维列表中
# 打印结果
print(result)
```
输出结果为:
```
[[1, 1001, '2021-01-01'], [1, 1002, '2021-01-02'], [1, 1003, '2021-01-03'], [2, 1002, '2021-01-04'], [2, 1003, '2021-01-05'], [2, 1004, '2021-01-06'], [3, 1001, '2021-01-07'], [3, 1003, '2021-01-08'], [3, 1005, '2021-01-09']]
```
阅读全文