📜  Python|将列表转换为列表列表

📅  最后修改于: 2022-05-13 01:54:19.874000             🧑  作者: Mango

Python|将列表转换为列表列表

给定一个字符串列表,编写一个Python程序将给定列表的每个元素转换为一个子列表。因此,将整个列表转换为列表列表。

例子:

Input : ['alice', 'bob', 'cara']
Output : [['alice'], ['bob'], ['cara']]

Input : [101, 202, 303, 404, 505] 
Output : [[101], [202], [303], [404], [505]]


方法#1:朴素的方法

使用另一个列表“res”和一个 for 循环。使用Python的split()方法,我们以列表本身的形式从列表中提取每个元素,并将其附加到“res”。最后,返回“res”。这种方法的一个缺点是它不适用于整数列表,因为'int'对象没有属性'split'。

# Python3 program to convert 
# list into a list of lists
  
def extractDigits(lst):
    res = []
    for el in lst:
        sub = el.split(', ')
        res.append(sub)
      
    return(res)
                  
# Driver code
lst = ['alice', 'bob', 'cara']
print(extractDigits(lst))
输出:
[['alice'], ['bob'], ['cara']]


方法#2:列表理解

列表理解是一种有效的方法,因为它不使用额外的空间。对于列表中的每个元素“el”,它只是将 [el] 附加到输出列表中。

# Python3 program to convert 
# list into a list of lists
  
def extractDigits(lst):
    return [[el] for el in lst]
                  
# Driver code
lst = ['alice', 'bob', 'cara']
print(extractDigits(lst))
输出:
[['alice'], ['bob'], ['cara']]


方法#3: Python map()

给定的代码为给定的可迭代“lst”的每个项目映射函数el:[el]。因此,将每个元素作为列表本身输出。

# Python3 program to convert 
# list into a list of lists
  
def extractDigits(lst):
    return list(map(lambda el:[el], lst))
      
              
# Driver code
lst = ['alice', 'bob', 'cara']
print(extractDigits(lst))
输出:
[['alice'], ['bob'], ['cara']]