为了账号安全,请及时绑定邮箱和手机立即绑定

列表元素上的索引输出不正确 - Python

列表元素上的索引输出不正确 - Python

繁星coding 2021-12-09 10:58:37
我刚开始学习 Python 并且我被困在这个问题上。基本上我想找出奇数索引号中的加号。这是我的代码。def odd_ones(lst):    total = []    for i in lst:        if i % 2 == 1:            total.append(i)    return totalprint(odd_ones([1,2,3,4,5,6,7,8])) 输出是[1, 3, 5, 7] 代替 [2, 4, 6, 8]有人可以帮我吗?
查看完整描述

3 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

输出是正确的。您迭代值列表而不是它的索引。条件i % 2 == 1给出以下:


1 % 2 = 1 (true)

2 % 2 = 0 (false)

3 % 2 = 1 (true)

4 % 2 = 0 (false)

5 % 2 = 1 (true)

6 % 2 = 0 (false)

7 % 2 = 1 (true)

8 % 2 = 0 (false)

所以输出是 (1,3,5,7)


查看完整回答
反对 回复 2021-12-09
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

如果您不想将奇数放入数组中,则需要更改条件,因此代码最像这样:


def odd_ones(lst):

    total = []

    for i in lst:

        if i % 2 == 0:

            total.append(i)

    return total


print(odd_ones([1,2,3,4,5,6,7,8]))

输出:[2, 4, 6, 8]


查看完整回答
反对 回复 2021-12-09
?
波斯汪

TA贡献1811条经验 获得超4个赞

你想找到奇数 inedx ,但你真正要做的是找到奇数元素


for i in lst:  #(i ---->the element in lst)   

    if i % 2 == 1:

所以你应该试试这个


for i in range(len(lst)): #( i ---> the index of lst)

    if i % 2 == 1:


查看完整回答
反对 回复 2021-12-09
  • 3 回答
  • 0 关注
  • 227 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信