Python之列表的删除

'''
数据结构之线性结构之列表 : 这里的列表是一种数据存储结构,也即将一块连续的存储空间分配给该变量存储数据.优点在于:查询效率极高,但缺点在于,为保证数据存储的连续性
                           每当删除中间位置的某一个元素时,后面元素的位置都必须的随之发生改变,因此其删除效率是极低的.由此也导致了另一个问题,也即利用循环结构,
                           无法彻底删除所有的元素;
for循环结构内部是通过一个迭代器来实现的,为便于理解,我们可以以C中的指针来理解上述问题的出现过程.
假定要求利用for循环结构清空一个列表(具体过程如下) :
    第一,会创建一个指针,指向该列表中的第0个元素,然后通过该指针删除指针指向的元素;
    第二,由于列表是一种列表数据结构,为保证数据存储的连贯性,删除了第0个元素后,其后的元素都会向前移动;
    第三,指针加一,指向下一个元素,也即第一个元素的位置,因此,会跳过第0个元素,删除第一个元素;
    第四,如此循环往复,导致总会遗漏一些元素没有被删除;
#注: 当字典作为可迭代对象时,不允许在迭代过程,改变字典的大小;
'''


猜你喜欢

转载自blog.51cto.com/14258683/2386516