2024-03-29 12:11:00 发布
网友
我有一个给定的列表,我想将该列表的所有元素和一个奇数索引添加到新列表中。这是我的密码:
def odd_indices(lst): new_lst = [ lst[i] for i in lst if (i + 2) % 2 != 0 ] return new_lst
我做错什么了?你知道吗
您可以按以下方式对列表进行切片:
lst[1::2]
一般语法为:
list[start:end:step]
在列表理解[lst[i] for i in lst if (i + 2) % 2 != 0]中,迭代列表中的项,如果i+2是奇数,则尝试从原始列表中获取具有相应索引i的元素。你知道吗
[lst[i] for i in lst if (i + 2) % 2 != 0]
如其他回复中所述,您可以使用enumerate访问索引和元素。你知道吗
或者你可以简单地使用切片
>>> foo = [1, 2, 3, 4, 5] >>> foo[1::2] [2, 4]
您可能希望采用索引而不是值本身。列表lst包含值而不是索引。enumerate有助于生成索引。像下面这样。你知道吗
lst
enumerate
def odd_indices(lst): new_lst = [ v for i, v in enumerate(lst) if i% 2 != 0 ] return new_lst print(odd_indices([1, 2, 4, 5]))
您可以按以下方式对列表进行切片:
一般语法为:
在列表理解
[lst[i] for i in lst if (i + 2) % 2 != 0]
中,迭代列表中的项,如果i+2是奇数,则尝试从原始列表中获取具有相应索引i的元素。你知道吗如其他回复中所述,您可以使用enumerate访问索引和元素。你知道吗
或者你可以简单地使用切片
您可能希望采用索引而不是值本身。列表
lst
包含值而不是索引。enumerate
有助于生成索引。像下面这样。你知道吗相关问题 更多 >
编程相关推荐