[英]Python: how to copy between lists using lists, e.g. list1[index1] = list2[index2]
[英]What is the complexity of index for lists of lists(e.g. list[x][y])
在python中
lst = [[1,2,3...],[4,5,6...]]
假设我有一个长度为n
的列表,每个嵌套列表的长度都相同。 所以我想用lst[x][y]
查找一些元素。 它的复杂性是什么? 我试图用谷歌搜索,但没有找到答案。
编辑:谢谢大家! 因此,如果我输入一个包含n个列表的列表(每个列表包含n个元素),那么该索引列表多少次(以n表示)? 是2n吗?
Python数据结构的时间复杂性在此处记录:
https://wiki.python.org/moin/TimeComplexity
您要询问的是“获取项目” list
,它是O(1) 。 即使您为列表和嵌套列表建立索引,它仍然是O(1) 。
索引是O(1)操作(恒定时间)。 因此,两个连续的索引操作仍为O(1) 。
此页面显示“获取项目”为O(1)
。 要分析像l[x][y]
这样的表达式,将其分解成各个部分可能会有所帮助:
temp = l[x]
temp[y]
在分析顺序操作时,我们增加了时间复杂度。 所以这是O(1) + O(1)
。 但这简化为O(1)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.