我有[车辆名称,号码]
的列表a=[["car","A1"],["car","A2"],["truck","A1"]]
我需要一个函数,如果我指定
汽车它应该返回" A2"该车辆名称中的最后一个号码。 如果我指定自行车它应该返回" A0"
我尝试写一些东西,但不断收到错误列表索引
修改
这里是完整列表格式
["vehicle","color","vehicle_num","status(True/False)","code"]
如果车辆颜色不存在,则会给出车辆和颜色并找到最后的车辆号return "A0"
号码系统从" A1",.........." An"
开始n根据车辆颜色而变化
列表已经排序
答案 0 :(得分:2)
您可以利用事实dict
按顺序分配值,list
是有序集合。因此,对于列表列表中的重复键,最后一个映射仍然存在。
a = [["car","A1"], ["car","A2"], ["truck","A1"]]
d = dict(a)
print(d['car']) # A2
print(d['truck']) # A1
如果您之后需要,则还原为list
(您不能,write to csv from a dictionary)。
res = list(map(list, d.items()))
print(res)
[['car', 'A2'], ['truck', 'A1']]
答案 1 :(得分:0)
您可以使用以下内容:
def search(l, word):
res = "A0"
for i in l:
if i[0] == word:
res
return res
然后,您可以通过将“An”保存为带有整数n的A的Tupel来优化它。
答案 2 :(得分:-1)
a = {'car':['A1', 'A2'], 'bike':['A0'], 'truck': ['A1']}
def return_last(vehicle):
return a[vehicle][-1]
return_last('car')