Python数据类型(Lists)
Python lists are:
- Ordered collections of arbitrarily objects
- Accessed by offset
- Variable-length, heterogeneous, and arbitrarily nestable
- Of the category "mutable sequence"
- Arrays of object references
1 help(list) 2 dir(list)
1 len([1, 2, 3]) 2 [1, 2, 3] + [4, 5, 6] 3 ['Ni!'] * 4 4 str([1, 2]) + "34" # str([1, 2])的结果为'[1, 2]' 5 [1, 2] + list("34") # 字符串转换成list时每个字符作为一个元素
- List Iteration and Comprehensions
1 res = [c * 4 for c in 'SPAM'] 2 # map可以用来做类似的事情 3 list(map(abs, [-1, -2, 0, 1, 2])) 4 5 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 6 7 # Deletion and Insertion 8 # 注意元素个数不一定相等 9 L = ['spam', 'Spam', 'SPAM!'] 10 L[0:2] = ['a', 'b', 'c'] 11 L[0:2] = [] # 删除index为0和1的元素 12 # 注意index assignment和slice assignment的不同 13 L[0] = ['a', 'b', 'c'] # 把第一个元素替换成['a', 'b', 'c']
- List method calls
1 L = ['spam', 'Spam', 'SPAM!'] 2 L.append('please') # 注意append只添加一个元素,和+不同 3 L.sort() # 默认按升序 4 L= ['abc', 'ABD', 'aBe'] 5 # sort()的参数 6 # key: one-argument function that returns the value to be used in sorting 7 # reverse = True 降序 8 L.sort(key = str.lower) 9 L.sort(key = str.lower, reverse = True) 10 11 # 排序函数 sorted 12 sorted(L, key = str.lower, reverse = True) # 不改变L 13 14 L = [1, 2] 15 L.extend([3, 4, 5]) 16 L.pop() 17 L.reverse() 18 # 注意reversed函数的返回值是一个iterator,必须调用list 19 list(reversed(L)) 20 21 # insert和remove可以指定offset 22 L = ['spam', 'eggs', 'ham'] 23 L.index('eggs') 24 L.insert(1, 'toast') 25 L.remove('eggs') 26 L.pop(1)
- 注意append和sort的返回值为None!
1 # del 2 L = ['SPAM!', 'eat', 'more', 'please'] 3 del L[0] 4 del L[1:]
- 注意append要比+快,因为+会生成新的object。
- L[len(L):] = [X]等价于L.append(X)
- L[:0] = [X],把X添加到前面
- del L会删除引用,L[:] = []引用会保留
浙公网安备 33010602011771号