最近遇到许多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