我的问题是一个分成两部分的问题。
如果给你一份名单
numbers = [10, 20, 30, 100]
并且您希望通过向每个元素添加10来编辑列表中的每个元素。我该怎么做呢?你能在不创建单独列表的情况下做到这一点吗?
类似地,如果给您一个列表,例如:
words = ['hello', 'hey', 'hi']
并希望将列表中的每个字母h更改为另一个字母,例如'r‘,这会是一个与上一个类似的算法吗?
发布于 2020-02-20 22:36:54
因为你说你不想创建一个新的列表,所以你不能像@gcandal建议的那样使用列表理解或map函数。你可以试试这个。
def update_list(l, fn):
for i in range(len(l)):
l[i] = fn(l[i])
update_list(numbers, lambda a: a + 10)
update_list(words, lambda s: s.replace('h', 'r'))
发布于 2018-08-07 05:18:59
可以通过应用map来完成此操作
numbers_plus_ten = map(lambda number: number + 10, numbers)
或者使用列表理解:
numbers_plus_ten = [number + 10 for number in numbers]
https://stackoverflow.com/questions/51715675
复制相似问题