要将一个列表中的相邻两个字符串组成一个嵌套列表,可以使用列表切片和列表推导式。具体而言,例如:
str_list = ['a', 'b', 'c', 'd', 'e', 'f']
tr_list = [[str_list[i], str_list[i+1]] for i in range(0, len(str_list), 2)]
print(tr_list)
输出结果为
[['a', 'b'], ['c', 'd'], ['e', 'f']]
这个代码首先定义了一个字符串列表 str_list
,然后使用列表推导式将相邻的两个字符串组成一个嵌套列表。具体而言,列表推导式中的 for
循环遍历 range(0, len(str_list), 2)
,即从0开始,每隔两个数取一个,这样就得到了相邻的两个下标。在列表推导式的每个循环中,使用这两个下标获取相邻的两个字符串,组成一个列表。最终,列表推导式的输出结果是一个嵌套列表,其中每个子列表包含两个相邻的字符串。
补充一下range每个参数的含义
当 range()
函数有三个参数时,这三个参数分别代表起始值、终止值和步长。具体而言,range(start, stop, step)
将返回一个包含从 start
开始到 stop-1
的整数序列,步长为 step
。
在这个问题中,我们使用了 range(0, len(str_list), 2)
来产生一个包含每个相邻的两个字符串的下标的序列。具体来说:
start=0
,代表从字符串列表的第一个元素开始。
stop=len(str_list)
,代表序列包含从0到字符串列表中最后一个元素的下标,因此序列的长度为 len(str_list)
。
step=2
,代表序列每次增加2,因此该序列中的元素是相邻的两个下标。