Python|由所有替代元素组成的列表
一些列表操作非常通用,并且总是需要使用速记而不需要制定多行代码。想要构建由原始列表的所有替代元素组成的列表是开发人员在日常应用程序中面临的问题。
让我们讨论打印给定列表的所有替代元素的某些方法。
方法#1:使用列表推导
简单方法的简写,列表推导提供了一种更快的方式来执行这个特定的任务。在这种方法中,所有不是 2 的倍数的索引,因此奇数被插入到新列表中。
# Python code to demonstrate
# to construct alternate element list
# using list comprehension
# initializing list
test_list = [1, 4, 6, 7, 9, 3, 5]
# printing original list
print ("The original list : " + str(test_list))
# using list comprehension
# to construct alternate element list
res = [test_list[i] for i in range(len(test_list)) if i % 2 != 0]
# printing result
print ("The alternate element list is : " + str(res))
输出:
The original list : [1, 4, 6, 7, 9, 3, 5]
The alternate element list is : [4, 7, 3]
方法 #2:使用enumerate()
这只是列表理解方法的一种变体,但内部工作与列表理解类似,但使用不同的变量来跟踪索引及其值。
# Python code to demonstrate
# to construct alternate element list
# using enumerate()
# initializing list
test_list = [1, 4, 6, 7, 9, 3, 5]
# printing original list
print ("The original list : " + str(test_list))
# using enumerate()
# to construct alternate element list
res = [i for j, i in enumerate(test_list) if j % 2 != 0]
# printing result
print ("The alternate element list is : " + str(res))
输出:
The original list : [1, 4, 6, 7, 9, 3, 5]
The alternate element list is : [4, 7, 3]
方法#3:使用切片表示法
这是执行此特定任务的最 Pythonic 和优雅的方式,并增强了Python的全部功能。我们可以使用 slice 提供的 skip 实用程序来获取列表中从头到尾的备用元素。
# Python code to demonstrate
# to construct alternate element list
# using Slice notation
# initializing list
test_list = [1, 4, 6, 7, 9, 3, 5]
# printing original list
print ("The original list : " + str(test_list))
# using Slice notation
# to construct alternate element list
res = test_list[1::2]
# printing result
print ("The alternate element list is : " + str(res))
输出:
The original list : [1, 4, 6, 7, 9, 3, 5]
The alternate element list is : [4, 7, 3]