2024-06-16 13:19:30 发布
网友
我有一个列表是枚举的,我希望对每个数字使用模运算,但不是枚举的数字。我该怎么做? 这个问题只考虑表模运算而不是简单的运算。你知道吗
如何一次修改列表中的每个数字(236、242、248)?你知道吗
lst1 = [22, 236, 23, 242, 24, 248] print(mod 121 lst1)
List comprehensions是对输入iterable中的每个元素执行操作的典型方式,返回一个新的list:
list
print([x % 121 for x in lst1])
大致相当于:
newlst = [] for x in lst1: newlst.append(x % 121) print(newlst)
但是应该运行得更快,而且(对于这样的简单案例)更容易阅读。你知道吗
更新:似乎您只想将此应用于list中的所有其他元素,因此在执行理解之前只需将其切分:
print([x % 121 for x in lst1[1::2]])
lst1[1::2]是一个切片,它只使用奇数索引元素(1,3,5,…)生成一个新的list,因此只能对[236, 242, 248]进行操作。你知道吗
lst1[1::2]
[236, 242, 248]
这可以通过lambda和map方法实现:
mod_lamda = lambda x: x % 121 lst1 = list(map(mod_lambda, lst1))
或者这可以通过迭代来完成
for i in range(len(lst1)): lst1[i] = lst1[i] % 121
List comprehensions是对输入iterable中的每个元素执行操作的典型方式,返回一个新的
list
:大致相当于:
但是应该运行得更快,而且(对于这样的简单案例)更容易阅读。你知道吗
更新:似乎您只想将此应用于
list
中的所有其他元素,因此在执行理解之前只需将其切分:lst1[1::2]
是一个切片,它只使用奇数索引元素(1,3,5,…)生成一个新的list
,因此只能对[236, 242, 248]
进行操作。你知道吗这可以通过lambda和map方法实现:
或者这可以通过迭代来完成
相关问题 更多 >
编程相关推荐