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[:] = []引用会保留
posted @ 2013-05-17 11:11  cchen  阅读(272)  评论(0)    收藏  举报