python3中list列表的一些操作

最近遇到许多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
原文地址:https://www.cnblogs.com/zrmw/p/9439294.html