简体   繁体   English

将元组中的元组转换为列表中的列表

[英]Converting tuples in tuple to lists in list

I am at the last step of my code where I am supposed to change my preferred laptops back to a list which are already in a descending order.我在我的代码的最后一步,我应该将我喜欢的笔记本电脑改回一个已经按降序排列的列表。

The tuples in the tuple list represent (ranking score, (name, company, screen size)) .元组列表中的元组代表(ranking score, (name, company, screen size))

For example:例如:

tuple_lst = [(20,('Elitebook','HP',13)),(10,('SurfacePro','Microsoft',13)),(5,('MacBook Air','Apple',13))]

My expected output:我预期的 output:

[['Elitebook','HP',13],['SurfacePro','Microsoft',13],['MacBook Air','Apple',13]]

I have tried using list() and creating for loops but still failed to do so.我曾尝试使用list()并创建for循环,但仍然未能这样做。

Any help is greatly appreciated.任何帮助是极大的赞赏。

Try this below using list comprehension:在下面使用列表理解试试这个:

tuple_lst = [(20,('Elitebook','HP',13)),(10,('SurfacePro','Microsoft',13)),(5,('MacBook Air','Apple',13))]

print([list(x[1]) for x in tuple_lst])

you do something like that你做这样的事情

new_lst = [list(i[1]) for i in tuple_lst]

output output

[['Elitebook', 'HP', 13],
 ['SurfacePro', 'Microsoft', 13],
 ['MacBook Air', 'Apple', 13]]

Try this:尝试这个:

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)

Output will be:- Output 将是:-

[['Elitebook','HP',13],['SurfacePro','Microsoft',13],['MacBook Air','Apple',13]]

A nice way is to use tuple unpacking:一个不错的方法是使用元组解包:

>>> 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]]

Here is the one line solution for your problem:这是您的问题的单行解决方案:

    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)

Output: [['Elitebook', 'HP', 13], ['SurfacePro', 'Microsoft', 13], ['MacBook Air', 'Apple', 13]] Output:[['Elitebook','HP',13],['SurfacePro','Microsoft',13],['MacBook Air','Apple',13]]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM