gpt4 book ai didi

Python - 查找列表中的值位置并输出为新列表

转载 作者:行者123 更新时间:2023-11-30 23:23:34 24 4
gpt4 key购买 nike

目前正在我的类(class)中学习Python,我对这部分有点困惑,不幸的是我的下一次练习要到下周,所以我想我会在这里问。

我们应该编写一个名为 find() 的函数,它接受一个列表,搜索列表中的值,并返回一个新列表,其中包含找到的数字在列表中的位置。例如:

list = 2, 3, 7, 2, 3, 3, 5
number = 3

输出将是:0, 4, 5

这道题要求我们使用循环,但不能使用内置函数、切片表达式、列表方法或字符串方法,除非指定,这部分唯一指定的是:.append()range() .

我们收到一个不允许编辑的文件:

import test_lists

list_A = ['q', 'w', 'e', 'r', 't', 'y']

print(test_lists.find(list_A, 'r'))
print(test_lists.find(list_A, 'b'))

根据我在名为 test_lists 的文件中的尝试,输出给出 <function find at 0x0000000003B89D90> :

def find(list1, listValue):

findList = 0

for x in range(findList):

findList.find(list1, value)

return find

有人能够将我推向正确的方向并向我解释吗?我们被告知可以使用 .append()但我似乎不明白这将如何适应这种情况,因为据我所知,附加仅添加到字符串中。我感觉自己离正轨还很远。

谢谢

最佳答案

使用enumeratelist comprehension :

>>> lst = 2, 3, 7, 2, 3, 3, 5
>>> number = 3
>>> [i for i, x in enumerate(lst) if x == number]
[1, 4, 5]

>>> list_A = ['q', 'w', 'e', 'r', 't', 'y']
>>> [i for i, x in enumerate(list_A) if x == 'r']
[3]

顺便说一句,不要使用 list 作为变量名。它隐藏内置类型/函数list

更新

不使用枚举:

>>> lst = 2, 3, 7, 2, 3, 3, 5
>>> number = 3
>>> [i for i in range(len(lst)) if lst[i] == number]
[1, 4, 5]

关于Python - 查找列表中的值位置并输出为新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23911486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com