列表list
list是一种有序的集合,可以随时添加和删除其中的元素。
列表的表示形式如下

c = ['A', 'B', 'C']
print c #输出['A', 'B', 'C']

可用len()函数可以获得list元素的个数:len(c)

可用索引来访问list中每一个位置的元素:c[0],c[1]

如果要取最后一个元素,还可以用-1做索引,直接获取倒数第一个元素:c[-1] ,倒数第二个类推c[-2]

可以往list中追加元素到末尾

c.append('D')
print c #输出['A', 'B', 'C','D']

也可以把元素插入到指定的位置

c.insert(1, ‘E’) 
 print c #输出[‘A’, ‘E’, ‘B’, ‘C’, ‘D’]

也可以删除list末尾的元素

c.pop() 
 print c #输出[‘A’, ‘E’, ‘B’, ‘C’]

也可以把元素替换成别的元素:直接赋值给对应的索引位置

c[1]=’F’ 
 print c #输出[‘A’, ‘F’, ‘B’, ‘C’]

list里面的元素的数据类型也可以不同,如c=[‘A’,1,True]
元组tuple
tuple称为元组,和list非常类似,但是tuple一旦初始化就不能修改,比如

c=(‘A’,’B’,’C’)

现在,c这个tuple不能变了,它没有append(),insert()这样的方法。但你可以使用c[0],c[-1],但不能赋值成另外的元素。
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
如果要定义一个空的tuple,可以写成():

a = () 
 a 
 ()

但是,要定义一个只有1个元素的tuple,如果你这么定义:a = (5),这样只是定义了5,而不是tuple,正确定义应该为a=(5,)

字典Dictionaries
字典用来储存(键, 值)对。你可以这样使用它:

d = {‘cat’: ‘cute’, ‘dog’: ‘furry’} # 新建字典 
 print d[‘cat’] # 通过key(cat)访问; prints “cute” 
 print ‘cat’ in d # 判断字典中是否有key; prints “True” 
 d[‘fish’] = ‘wet’ # 向字典加入对 
 print d[‘fish’] # Prints “wet”

print d[‘monkey’] # KeyError: ‘monkey’ not a key of d

print d.get(‘monkey’, ‘N/A’) # Get an element with a default; prints “N/A” 
 print d.get(‘fish’, ‘N/A’) # Get an element with a default; prints “wet” 
 del d[‘fish’] # 从字典中移除对 
 print d.get(‘fish’, ‘N/A’) # “fish” 不再是key了; prints “N/A”

循环Loops:在字典中,用键来迭代更加容易。

d = {‘person’: 2, ‘cat’: 4, ‘spider’: 8} 
 for animal in d: 
 legs = d[animal] 
 print ‘A %s has %d legs’ % (animal, legs)

Prints “A person has 2 legs”, “A spider has 8 legs”, “A cat has 4 legs”

如果你想要访问键和对应的值,那就使用iteritems方法:

d = {‘person’: 2, ‘cat’: 4, ‘spider’: 8} 
 for animal, legs in d.iteritems(): 
 print ‘A %s has %d legs’ % (animal, legs)

Prints “A person has 2 legs”, “A spider has 8 legs”, “A cat has 4 legs”

字典推导Dictionary comprehensions:和列表推导类似,但是允许你方便地构建字典。

nums = [0, 1, 2, 3, 4] 
 even_num_to_square = {x: x ** 2 for x in nums if x % 2 == 0} 
 print even_num_to_square # Prints “{0: 0, 2: 4, 4: 16}”

切片
python中切片是一个非常好用的功能,下面从代码说明它的用处

c=[‘ABCD’,’ABDE’] 
 print c # 输出[‘ABC’, ‘ABD’] 
 print c[0][2:] #输出CDnums = range(5) #nums = [0, 1, 2, 3, 4] 
 print nums[2:4] # prints “[2, 3]” 
 print nums[2:] # prints “[2, 3, 4]” 
 print nums[:2] # prints “[0, 1]” 
 print nums[:] # prints “[0, 1, 2, 3, 4]” 
 print nums[:-1] # prints “[0, 1, 2, 3]” 
 nums[2:4] = [8, 9] 
 print nums # Prints “[0, 1, 8, 9, 4]”

循环Loops

animals = [‘cat’, ‘dog’, ‘monkey’] 
 for animal in animals: 
 print animal

Prints “cat”, “dog”, “monkey”, each on its own line.

如果想要在循环体内访问每个元素的指针,可以使用内置的enumerate函数

animals = [‘cat’, ‘dog’, ‘monkey’] 
 for idx, animal in enumerate(animals): 
 print ‘#%d: %s’ % (idx + 1, animal)

Prints “#1: cat”, “#2: dog”, “#3: monkey”, each on its own line

列表推导List comprehensions 
 nums = [0, 1, 2, 3, 4] 
 squares = [x ** 2 for x in nums] 
 print squares # Prints [0, 1, 4, 9, 16]

列表推导还可以包含条件:

nums = [0, 1, 2, 3, 4] 
 even_squares = [x ** 2 for x in nums if x % 2 == 0] 
 print even_squares # Prints “[0, 4, 16]”