Python|从列表列表中删除列
从列表中删除一行的问题非常简单,我们只需要从列表列表中弹出一个列表。但是可以有一个实用程序,我们需要删除一列,即每个列表的特定索引元素。如果我们将任何数据库数据存储到容器中,就会出现这个问题。让我们讨论可以执行此操作的某些方式。
方法 #1:使用del + loop
在这个策略中,我们只是使用循环来逐个删除列元素,以在每次迭代时迭代行号。
# Python3 code to demonstrate
# deleting columns of list of lists
# using del + loop
# initializing list
test_list = [[4, 5, 6, 8],
[2, 7, 10, 9],
[12, 16, 18, 20]]
# printing original list
print ("The original list is : " + str(test_list))
# using del + loop
# deleting column element of row
for j in test_list:
del j[1]
# printing result
print ("The modified mesh after column deletion : " + str(test_list))
输出 :
The original list is : [[4, 5, 6, 8], [2, 7, 10, 9], [12, 16, 18, 20]]
The modified mesh after column deletion : [[4, 6, 8], [2, 10, 9], [12, 18, 20]]
方法 #2:使用pop() + list comprehension
我们可以使用列表理解技术和使用可用于删除列表元素的 pop函数以更简单和更短的方式完成此特定任务。
# Python3 code to demonstrate
# deleting columns of list of lists
# using pop() + list comprehension
# initializing list
test_list = [[4, 5, 6, 8],
[2, 7, 10, 9],
[12, 16, 18, 20]]
# printing original list
print ("The original list is : " + str(test_list))
# using pop() + list comprehension
# deleting column element of row
[j.pop(1) for j in test_list]
# printing result
print ("The modified mesh after column deletion : " + str(test_list))
输出 :
The original list is : [[4, 5, 6, 8], [2, 7, 10, 9], [12, 16, 18, 20]]
The modified mesh after column deletion : [[4, 6, 8], [2, 10, 9], [12, 18, 20]]