元组
元组和列表类似,但属于不可变序列,元组一旦创建,用任何方法都不可以修改其元素。
元组的定义方式和列表相同,但定义时所有元素是放在一对圆括号“()”中,而不是方括号中。
元组的创建
使用()或tuple转换
tuple1='a',
tuple1 = 2,'a'
tuple1=(2,'a','bc')tuple1= tuple[1,2,3]
元组运算
使用+,* 进行元组运算
tuple1 =(1,2,3)
tuple2=('a','b','c')
tuple3 = tuple1 + tuple2
tuple4 = tuple1*2
tuple5=(1,)*3
元组解包
a,b,c=('string',1,'x')
name='kylin'
value='apple'
name,value= value,name
使用切片提取元素
tuple1=(1,2,3,'a','b',c)
tuple1[5]
tuple1[:]
tuple1[3:]
tuple1[2:5]
tuple1[-3:]
tuple1[2:-3]
tuple1[::3]
元组方法函数
in
len()
tuple1.count(x)
tuple1.index(x)
字典
字典是无序、可变序列。
定义字典时,每个元素的键和值用冒号分隔,元素之间用逗号分隔,所有的元素放在一对大括号“{}”中。
字典中的键可以为任意不可变数据,比如整数、实数、复数、字符串、元组等等。
globals()返回包含当前作用域内所有全局变量和值的字典
locals()返回包含当前作用域内所有局部变量和值的字典
字典相关方法:
1、adict.keys() #返回一个包含字典所有KEY的列表;
2、adict.values() #返回一个包含字典所有value的列表;
3、adict.items() #返回一个包含所有(键,值)元祖的列表;
4、adict.clear() #删除字典中的所有项或元素;
5、adict.copy() #返回一个字典浅拷贝的副本;
6、adict.fromkeys(seq,val=None) #创建并返回一个新字典, 以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None);
7、adict.get(key,default= None) #返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认None);
8、adict.has_key(key) #如果key在字典中,返回True,否则返回False。 现在用in、 not in;
9、adict.iteritems()、adict.iterkeys()、adict.itervalues() #与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
10、adict.pop(keyl,default) #和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
11、adict.setdefault(key, default=None) #和set()方法相似,但如果字典中不存在Key键,由 adict[key] = default 为它赋值;
12、adict.update(bdict) #将字典bdict的键值对添加到字典adict中。
典的遍历:
1、遍历字典的key(键):
for key in adict.keys():
print key
2、遍历字典的value(值)
for value in adict.values():
print value
3、遍历字典的项(元素)
for item in adict.items():print item
4、遍历字典的key-value
for item,value in adict.items():
print'key=%s,value=%s'%(item,value)
或
for item,value in adict.iteritems():
print 'key=%s,value=%s'%(item,value)