在代码的最后一步,我应该将自己喜欢的笔记本电脑改回已经降序排列的列表。
元组列表中的元组表示(ranking score, (name, company, screen size))
。
例如:
tuple_lst = [(20,('Elitebook','HP',13)),(10,('SurfacePro','Microsoft',13)),(5,('MacBook Air','Apple',13))]
我的预期输出:
[['Elitebook','HP',13],['SurfacePro','Microsoft',13],['MacBook Air','Apple',13]]
我尝试使用list()
并创建for
循环,但仍然失败。
非常感谢您的帮助。
答案 0 :(得分:3)
请在下面使用列表理解功能进行尝试:
tuple_lst = [(20,('Elitebook','HP',13)),(10,('SurfacePro','Microsoft',13)),(5,('MacBook Air','Apple',13))]
print([list(x[1]) for x in tuple_lst])
答案 1 :(得分:2)
你做类似的事情
new_lst = [list(i[1]) for i in tuple_lst]
输出
[['Elitebook', 'HP', 13],
['SurfacePro', 'Microsoft', 13],
['MacBook Air', 'Apple', 13]]
答案 2 :(得分:1)
尝试一下:
tuple_lst = [(20,('Elitebook','HP',13)),(10,('SurfacePro','Microsoft',13)),(5,('MacBook Air','Apple',13))]
res = []
for tup in tuple_lst:
res.append(list(tup[1]))
print(res)
输出将是:-
[['Elitebook','HP',13],['SurfacePro','Microsoft',13],['MacBook Air','Apple',13]]
答案 3 :(得分:1)
一种不错的方法是使用元组拆包:
>>> tuple_lst = [(20,('Elitebook','HP',13)),(10,('SurfacePro','Microsoft',13)),(5,('MacBook Air','Apple',13))]
>>> [list(y) for _, y in tuple_lst]
[['Elitebook', 'HP', 13], ['SurfacePro', 'Microsoft', 13], ['MacBook Air', 'Apple', 13]]
答案 4 :(得分:0)
这是您问题的一线解决方案:
tuple_lst = [(20,('Elitebook','HP',13)),(10,('SurfacePro','Microsoft',13)),(5,('MacBook Air','Apple',13))]
tuple_lst = list(map(lambda x:list(x[1]),tuple_lst))
print(tuple_lst)
输出: [['Elitebook','HP',13],['SurfacePro','Microsoft',13],['MacBook Air','Apple',13]]