list
# -*- coding: utf-8 -*-
# list的创建
L = ['a', 1, 'b', 2, 'c', 3]
# list的访问
print L[0] # 按照索引访问list,a
print L[-1] # 倒序访问list,3
# list添加新元素
L.append('d') # append把新的元素添加到list的尾部,L = ['a', 1, 'b', 2, 'c', 3, 'd']
L.insert(0,'aa') # insert又两个参数,第一个参数指定添加位置,L = ['aa', 'a', 1, 'b', 2, 'c', 3, 'd']
# list删除元素
L.pop() # ['aa', 'a', 1, 'b', 2, 'c', 3]
L.pop(2) # ['aa', 'a', 'b', 2, 'c', 3]
# list替换元素
L[0] = 'ff' # ['ff', 'a', 'b', 2, 'c', 3]
L[-1] = 'gg' # ['ff', 'a', 'b', 2, 'c', 'gg']
tuple
# -*- coding: utf-8 -*-
# tuple的创建
t = (0,1,2,3,4)
# tuple的访问,方式与list相同
print t[0] # 按照索引访问tuple,0
print t[-1] # 倒序访问tuple,4
# 创建“可变”tuple
t = ('a', 'b', ['A', 'B'])
L = t[2]
L[0] = 'X'
L[1] = 'Y'
print t # ('a', 'b', ['X', 'Y'])
dict
# -*- coding: utf-8 -*-
# dict的创建
d = {
'a': 1,
'b': 2,
'c': 3,
'd': 4
}
# dict的访问,方式与list相同
print d['a'] # 访问dict,1
# dict的更新
d['a'] = 100 # {'a': 100, 'c': 3, 'b': 2, 'd': 4}
d['e'] = 5 # {'a': 100, 'c': 3, 'b': 2, 'e': 5, 'd': 4}
# dict的遍历,与list类似,都可以通过for循环遍历
for k in d :
print k
# a
# c
# b
# e
# d
set
# -*- coding: utf-8 -*-
# set的创建
s = set(['A', 'B', 'C'])
# set的内容查看
print s # set(['A', 'C', 'B'])
# set的访问
'A' in s # True
# set的遍历,观察 for 循环在遍历set时,元素的顺序和list的顺序很可能是不同的,而且不同的机器上运行的结果也可能不同
for letter in s :
print letter
# A
# C
# B
# set的更新
s.add('D') # set(['A', 'C', 'B', 'D'])
s.remove('D') # set(['A', 'C', 'B'])
区别
1.dict的特点是查找速度快,并且查找的速度无关dict大小;而list的查找速度随着元素增加而逐渐下降。但是dict查找速度快的代价就是占用内存大,还会浪费很多内容,而list正好相反,占用内存小,但是查找速度慢。由于dict是按 key 查找,所以,在一个dict中,key不能重复。
2.dict存储的key-value序对是没有顺序的,而list是有顺序的。
3.dict作为key的元素必须是不可变的,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。最常用的key还是字符串,因为用起来最方便。
4.set存储的是一组不重复的无序的元素。