Python 3.x python中列表上类似memset的功能
我希望在执行任务时修改一个非常大的列表,并且在任务完成后,我希望尽快将列表中的所有元素设置为单个值。在C++中,我们使用MeMSET来实现这个目的。python中有什么方法可以完成这项工作吗Python 3.x python中列表上类似memset的功能,python-3.x,list,Python 3.x,List,我希望在执行任务时修改一个非常大的列表,并且在任务完成后,我希望尽快将列表中的所有元素设置为单个值。在C++中,我们使用MeMSET来实现这个目的。python中有什么方法可以完成这项工作吗 提前感谢。看起来您需要的是程序执行的速度 memset()是一个相对简单的操作的快速版本: 来这里救援。在处理大型数据集时,它们比列表快得多。您只能遍历它们一次 # construct a generator: def fun(): for i in range(0,3): # Basically co
提前感谢。看起来您需要的是程序执行的速度 memset()是一个相对简单的操作的快速版本: 来这里救援。在处理大型数据集时,它们比列表快得多。您只能遍历它们一次
# construct a generator:
def fun():
for i in range(0,3): # Basically construct your list like this
yield i
a = fun()
# iterate through generator:
for i in a:
# do manipulations on i
# create a new generator yielding all same values for your last operation
memset
仅适用于字节数组,而不适用于任何其他类型的数组(更不用说列表了)。如果我的回答对你有帮助,你可以接受我的回答,但这对我的目的没有帮助,但我对生成器有了更多的了解(阅读有关它们的内容,希望它有所帮助)。谢谢你。如果我不按顺序对“I”执行操作(比如从顺序中的第一个元素到最后一个元素),该怎么办?我随机修改列表元素。例如,布尔列表“已访问”,它存储在执行深度优先搜索时是否访问了图形中的第I个顶点。执行dfs操作后,我需要将“已访问”列表中的所有元素设置为“False”,以便该列表可用于下一个dfs操作。@TarunSai您可以多次生成任何想要的内容。然后生成一个函数,yield 3
,yield'generator'
,yield True
,这三个东西将被存储在一个超快速列表中:[3',generator',True]