列表是从第0个索引开始的。
a.decode('utf-8') //转换为unicode中文编码
8.python的引用机制。
sys的这个模块
sys.getrefcount('1234')
在python引用机制中对象的引用计数开始的是3不是1
9,
a = "i,am,a,boy,in,china"
cinfo = a.split(',')
['i', 'am', 'a', 'boy', 'in', 'china']
print cinfo[3]
print cinfo[-1]
10,引用
a=['i','am','lily']
b=a
a[2]='lao'
print b
11,
一,元组
特点:有序的集合;通过偏移取数据;属于不可变的对象,不能在原地修改内容,没有排序;
元组 : a=(1,2,3)
b=list(a) //列表
b=tuple(a) //生成一个新的元组对象
def info(a) //def定义一个我们的方法
def info(a):
print 'id %d' % id(a)
a=[1,2,3]
print id(a)
def info(a) :
b=a[:] //类似于一个列表的拷贝,而不是引用
b[0] = 'haha';
return a
二,集合
没有顺序的概念,不能用切片和索引来操作
1,创建索引 : set() 可变
frozenset() 不可变
2,添加操作: add,update
3,删除 remove
4,成员关系 : in , not in
5,交集,并集,差集 & | -
6,set集合去重,列表内容元素重复
set(['a','b','c'])
7,不可变的集合 意思就是不能向其中增加元素以及修改等操作
frozenset()
三,字典
字典是无序的,它不能通过偏移来存取,只能通过键来存取
字典={'key':value} key : 类似我们实现的钥匙
特点:方便我们组织多种数据结构,并且可以原地修改里面的内容。
1,创建字典
dict()
info = dict(name='lili',age=20)
2,添加内容
a['xx'] = 'xx'
info['iphone']='iphone'
3,修改内容
info['iphone']='htc'
a['xx']='xx'
update 参数是一个字典的类型,会覆盖相同键的值
4,键是不可变类型
5,删除del ,clear , pop
del info['phone'] 删除某个元素
info.clear() //清空字典
info.pop('name') //传入需要删除的键名,并且返回
然而,列表的pop()方法是传入索引下标
6,in和has_key() 成员关系操作
info.has_key('phone')
7,keys(): 返回的是列表,里面包含了字典里面的所有键
values() : 返回的是列表,里面包含的是字典所有的值
items : 生成一个字段容器 : [()]
>>> aa.items()
[('age', 34), ('name', 'lily'), ('ff', 'ss'), ('sex', 2)]
8,get() 根据字典中的键获取字典中值
9,字典的删除使用 del info['']
集合中的删除使用 remove
习题:
列表a = [11,22,24,29,30,32]
2 在元素29后面插入元素57
a.insert(4,57)