最近遇到许多List的操作,感觉它是一种很重要的一种基础数据结构,本人掌握的也不是很扎实,这里找了一些列表的操作,常用函数,记录下来,希望对大家有用。如果理解有偏差,欢迎指正,感谢!

(1)列表的合并

  使用到了:+, append(), extend(), insert()

        

# -*- coding: utf-8 -*-
"""
Created on Tue Aug 7 20:10:41 2018
@author: brave-man
blog: http://www.cnblogs.com/zrmw/
""" a = [123, 'abc', 12.3, 'lao zhang']
b = ['lao li', 'lao wang', 'lao liu'] print(a + b) a.extend(b)
print(a) a.insert(0, b)
print(a) a.append(b)
print(a)

输出:

[123, 'abc', 12.3, 'lao zhang', 'lao li', 'lao wang', 'lao liu']
[123, 'abc', 12.3, 'lao zhang', 'lao li', 'lao wang', 'lao liu']
[['lao li', 'lao wang', 'lao liu'], 123, 'abc', 12.3, 'lao zhang', 'lao li', 'lao wang', 'lao liu']
[['lao li', 'lao wang', 'lao liu'], 123, 'abc', 12.3, 'lao zhang', 'lao li', 'lao wang', 'lao liu', ['lao li', 'lao wang', 'lao liu']]

(2)列表的删除和深浅复制,赋值

  使用函数: remove(), pop(), del

# -*- coding: utf-8 -*-
"""
Created on Tue Aug 7 20:10:41 2018
@author: brave-man
blog: http://www.cnblogs.com/zrmw/
""" import copy a = [123, 'abc', 12.3, 'lao zhang']
b = ['lao li', 'lao wang', 'lao liu']
f = ['aabbcc', 223344] # 赋值,绑定的是同一个对象,会改变原列表
c = a
print(c.pop())
print('a', a)
print('c', c)
print(a is c) # 浅拷贝,只拷贝最深层的对象,对新变量的操作
# 不会影响到原列表
d = b.copy()
d.remove('lao li')
print('b', b)
print('d', d)
print(b is d) # 深拷贝,在内存中复制原列表的每一层,成为一个新的
# 列表,对新列表的操作,不会影响原列表
e = copy.deepcopy(f)
print('e', e)
del e[0]
print('f', f)
print('e', e)
print(e is f)

输出:

lao zhang
a [123, 'abc', 12.3]
c [123, 'abc', 12.3]
True
b ['lao li', 'lao wang', 'lao liu']
d ['lao wang', 'lao liu']
False
e ['aabbcc', 223344]
f ['aabbcc', 223344]
e [223344]
False
05-11 22:33