我有3个id,分别是1001,1002,1003,如何把它分别映射为索引0,1,2
时间: 2024-04-12 22:27:48 浏览: 9
你可以使用一个字典来实现这个映射。首先,创建一个空字典,然后遍历这三个id,将它们作为字典的键,对应的值设置为对应的索引值。这样,就可以将这三个id分别映射为索引0,1,2。
下面是一个示例代码:
```python
id_list = [1001, 1002, 1003]
id_mapping = {}
for i, id in enumerate(id_list):
id_mapping[id] = i
# 测试映射结果
test_id = 1002
mapped_id = id_mapping.get(test_id, -1)
print(mapped_id)
```
在上面的代码中,我使用`enumerate`函数来同时获取索引值和id。然后,将id作为字典的键,索引值作为对应的值。
你可以将`id_list`替换为你实际的id列表。在测试映射结果时,将`test_id`替换为你想测试的id。
运行代码后,你应该能够得到相应的映射结果。如果找不到对应的映射值,则会返回-1。
如果还有其他问题,请随时提问。
相关问题
我有3个id,分别是1001,1002,1003,1002,如何把它分别映射为索引0,1,2,1。注意相同的id,索引也要一致
如果你想要将这3个id映射为索引0,1,2,1,并且对于相同的id,索引也要一致,你可以使用一个字典来实现这个映射。
下面是一个示例代码:
```python
id_list = [1001, 1002, 1003, 1002]
id_mapping = {}
mapped_id = []
for id in id_list:
if id not in id_mapping:
id_mapping[id] = len(id_mapping)
mapped_id.append(id_mapping[id])
print(mapped_id)
```
在上面的代码中,我们创建了一个空字典 `id_mapping` 来存储每个id的映射关系。通过遍历 `id_list`,我们判断每个id是否已经在字典中。如果不在字典中,我们将该id添加到字典,并将当前字典的长度作为该id的索引值。无论是新的id还是已存在于字典中的id,我们都将映射后的索引添加到 `mapped_id` 列表中。
运行代码后,你应该会得到 `[0, 1, 2, 1]` 的结果。
希望对你有所帮助!如果还有其他问题,请随时提问。
我有一些130043个不同的id,想把它映射到0-130042,怎么做
你可以使用一个字典来实现这个映射。首先,创建一个空字典,然后遍历这些不同的id。对于每个id,将它作为字典的键,对应的值设置为当前的索引值。这样,就可以将原始的id映射到0到130042的范围内。
下面是一个示例代码:
```python
id_list = [your_id_list] # 将your_id_list替换为你的实际id列表
id_mapping = {}
for i, id in enumerate(id_list):
id_mapping[id] = i
# 测试映射结果
test_id = [your_test_id] # 将your_test_id替换为你想测试的id
mapped_id = id_mapping[test_id]
print(mapped_id)
```
在上面的代码中,你需要将`your_id_list`替换为你实际的id列表,并将`your_test_id`替换为你想测试的id。运行代码后,你可以通过`mapped_id`获取映射后的结果。
希望这可以帮助到你!如有更多问题,请随时提问。