Python 列表转换为列表的列表


在数据分析过程中,我们经常需要将列表中的每个元素转换为子列表。因此,在本文中,我们将以普通列表作为输入,将其转换为列表的列表,其中每个元素都成为一个子列表。

使用 for 循环

这是一个非常直接的方法,我们创建一个 for 循环来读取每个元素。我们将它作为列表读取,并将结果存储在新列表中。

示例

 在线演示

Alist = ['Mon','Tue','Wed','Thu','Fri']

#Given list
print("Given list: ",Alist)

# Each element as list
NewList= [[x] for x in Alist]

# Print
print("The new lists of lists: ",NewList)

输出

运行以上代码得到以下结果:

Given list: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
The new lists of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]

使用 split 方法

在这种方法中,我们使用 split 函数提取每个元素,因为它们由逗号分隔。然后,我们将此元素作为列表添加到新创建的列表中。

示例

 在线演示

Alist = ['Mon','Tue','Wed','Thu','Fri']

#Given list
print("Given list: ",Alist)

NewList= []

# Using split
for x in Alist:
   x = x.split(',')
   NewList.append(x)

# Print
print("The new lists of lists: ",NewList)

输出

运行以上代码得到以下结果:

Given list: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
The new lists of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]

使用 map 函数

map 函数用于对一系列参数反复应用相同的函数。因此,我们使用 lambda 函数通过从原始列表中读取每个元素来创建一系列列表元素,并对其应用 map 函数。

示例

 在线演示

Alist = ['Mon','Tue','Wed','Thu','Fri']

#Given list
print("Given list: ",Alist)

# Using map
NewList= list(map(lambda x:[x], Alist))

# Print
print("The new lists of lists: ",NewList)

输出

运行以上代码得到以下结果:

Given list: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
The new lists of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]

更新于:2020年5月13日

3K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告