这三个功能是我学习指南的一部分,非常感谢您的帮助。 在每种情况下,该函数都会返回一个值(所以使用return语句):它不会打印其任何参数的值(不打印语句)或mutate(更改其值)。使用Python的基本列表操作
1)repl函数有三个参数: oold是任何值; ?新是任何值; xs是一个列表。
Example:
>>> repl('zebra', 'donkey', ['mule', 'horse', 'zebra', 'sheep', 'zebra'])
['mule', 'horse', 'donkey', 'sheep', 'donkey']
它返回一个新的列表,通过用new来替换xs中的每一个old。
它不得改变列表xs;即从函数返回后,为xs给出的实际参数必须是以前的值。
>>> friends = ['jules', 'james', 'janet', 'jerry']
>>> repl('james', 'henry', friends)
['jules', 'henry', 'janet', 'jerry']
>>> friends
['jules', 'james', 'janet', 'jerry']
2)搜索功能在列表中查找值。它有两个参数: ◦y是要搜索的值。 ◦xs是正在搜索的列表。
它返回y中第一次出现的索引,如果它发生的话;否则为-1。
Examples:
>>> words = ['four', 'very', 'black', 'sheep']
>>> search('four', words)
0
>>> search('sheep', words)
3
>>> search('horse', words)
-1
3)双打功能被赋予号码的列表,并返回包含每个数字的双打在给定列表的新列表。
Example:
>>> doubles([1, 3, 7, 10])
[2, 6, 14, 20]
它必须发生变异的定列表:
>>> salaries = [5000, 7500, 15000]
>>> doubles(salaries)
[10000, 15000, 30000]
>>> salaries
[5000, 7500, 15000]
这是不使用除追加任何列表的方法来完成。 (特别是,您可能不会使用索引或计数作为搜索功能。)
尽管您可以使用list len函数和列表操作+,*,索引,切片和==来比较列表或元素。您将需要使用其中一些但不是全部。
任何帮助,如我在介绍中提到的非常感谢。
到目前为止,我所拥有的就是。
def repl (find, replacement, s):
newString = ''
for c in s:
if c != find:
newString = newString + c
else:
newString = newString + replacement
return newString
def search(y, xs):
n = len(xs)
for i in range(n):
if xs[i] == y:
return i
return -1
和....
def search(key,my_list):
if key in my_list:
return my_list.index(key)
else:
return
我不知道需要else语句后可能返回的。
您有什么问题? – Paco
我没有得到正确的答案,如示例中所示。还有最后两个问题的代码,我还没有编译。我试图用这种方式来恢复记忆,并且在记住正确的解决方案时遇到了一些麻烦。 – HTCone
你可以用你在这里添加的细节来编辑你的文章吗?你将有更好的机会找到正确的答案 – Paco