#coding=utf-8
'''
Created on 2014-11-10
@author: kite
'''
if __name__ == '__main__':
#列表List
la=['wu1','wu2','wu3']
#获取列表中的值
print la #['wu1', 'wu2', 'wu2']
print la[1] #wu2
print la[-1] #wu3
#切片 注意:不包包含右边界 返回的是列表
print la[1:2] # ['wu2']界
#遍历变量
print ('遍历列表:')
for s in la:
print s
#搜索list 使用list.index()搜索列表,如果搜到返回索引值,如果无,返回错误
print la.index('wu2') #1 返回索引值
#la.index('liyan') #报错 ValueError: 'liyan' is not in list
#往列表中添加元素
#1.append方法,在list结尾添加元素 append() 方法向列表的尾部添加一个新的元素。只接受一个参数。
la.append('wu4')
print la #['wu1', 'wu2', 'wu3', 'wu4']
#2.insert方法,在指定的位置添加元素
la.insert(1,'insertWu')
print la #['wu1', 'insertWu', 'wu2', 'wu3', 'wu4']
#3.list.extend(seq) 添加列表 extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。
la.extend(['aaa','bbb'])
print la #['wu1', 'insertWu', 'wu2', 'wu3', 'wu4', 'aaa', 'bbb']
#删除列表中的元素
print('删除元素:')
la.pop() #删除list末尾的一个元素
print la #['wu1', 'insertWu', 'wu2', 'wu3', 'wu4', 'aaa']
la.pop(2) #删除指定下标位置的元素
print la #['wu1', 'insertWu', 'wu3', 'wu4', 'aaa']
la.remove('insertWu') #删除指定值得元素
print la #['wu1', 'wu3', 'wu4', 'aaa']
#更新列表中的值
la[0]='first'
print la #['first', 'insertWu', 'wu3']
#list.count(obj) 返回一个对象obj 在列表中出现的次数
print la.count('insertWu') #1
#max() min() 函数 字符串,使用assic码比较
print max(la) #wu3
print min(la) #first
#max min sum
#lnum=['11','22','345','2','9']
lnum=[11,22,345,2,9]
print max(lnum) #345
print min(lnum) #2
print sum(lnum) #389
#排序
#标准函数 sorted(list)返回一个排序后的新list,不会改变原来的list
#内建函数list.sort(func=None,key=None,reverse=False),调用这个方法,会改变这个list的顺序,但还是原来的list,它没有返回值
print sorted(lnum) #[2, 9, 11, 22, 345]
print lnum #仍是原来的顺序,没有被改变 [11, 22, 345, 2, 9]
lnum.sort(reverse=True) #降序排列
print lnum #改变了原有的顺序 [345, 22, 11, 9, 2]
# reversed(返回的是一个迭代器)
lb=reversed(lnum) # 返回的是一个迭代器,需要用for循环打印
print type(lb) #<type 'listreverseiterator'>
for i in lb:
print i #打印lnum=[11,22,345,2,9]的逆序 9 2 345 22 11
#list 运算符 + *
li = ['a', 'b', 'mpilgrim']
li = li + ['example', 'new']
print li #['a', 'b', 'mpilgrim', 'example', 'new']
li = [1, 2] * 3 #重复3遍
print li # [1, 2, 1, 2, 1, 2]
#zip 把数组柔和在一起
x=['bob','tom','kite']
y=[80,90,95]
z=dict(zip(x,y)) #zip完成,还要转换下类型,转成dict
print z #[('bob', 80), ('tom', 90), ('kite', 95)]
print (z['tom']) #90
print 'end'
#类型转换 List()
x=['bob','tom','kite']
y=set(x)
x=list(y)
print x
#连接字符串 join
li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
s = ";".join(li) #用分号连接不同的元素
print s #连接后的字符串为:server=mpilgrim;uid=sa;database=master;pwd=secret
#分割字符串 split
print s.split(";") #['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
'''
Created on 2014-11-10
@author: kite
'''
if __name__ == '__main__':
#列表List
la=['wu1','wu2','wu3']
#获取列表中的值
print la #['wu1', 'wu2', 'wu2']
print la[1] #wu2
print la[-1] #wu3
#切片 注意:不包包含右边界 返回的是列表
print la[1:2] # ['wu2']界
#遍历变量
print ('遍历列表:')
for s in la:
print s
#搜索list 使用list.index()搜索列表,如果搜到返回索引值,如果无,返回错误
print la.index('wu2') #1 返回索引值
#la.index('liyan') #报错 ValueError: 'liyan' is not in list
#往列表中添加元素
#1.append方法,在list结尾添加元素 append() 方法向列表的尾部添加一个新的元素。只接受一个参数。
la.append('wu4')
print la #['wu1', 'wu2', 'wu3', 'wu4']
#2.insert方法,在指定的位置添加元素
la.insert(1,'insertWu')
print la #['wu1', 'insertWu', 'wu2', 'wu3', 'wu4']
#3.list.extend(seq) 添加列表 extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。
la.extend(['aaa','bbb'])
print la #['wu1', 'insertWu', 'wu2', 'wu3', 'wu4', 'aaa', 'bbb']
#删除列表中的元素
print('删除元素:')
la.pop() #删除list末尾的一个元素
print la #['wu1', 'insertWu', 'wu2', 'wu3', 'wu4', 'aaa']
la.pop(2) #删除指定下标位置的元素
print la #['wu1', 'insertWu', 'wu3', 'wu4', 'aaa']
la.remove('insertWu') #删除指定值得元素
print la #['wu1', 'wu3', 'wu4', 'aaa']
#更新列表中的值
la[0]='first'
print la #['first', 'insertWu', 'wu3']
#list.count(obj) 返回一个对象obj 在列表中出现的次数
print la.count('insertWu') #1
#max() min() 函数 字符串,使用assic码比较
print max(la) #wu3
print min(la) #first
#max min sum
#lnum=['11','22','345','2','9']
lnum=[11,22,345,2,9]
print max(lnum) #345
print min(lnum) #2
print sum(lnum) #389
#排序
#标准函数 sorted(list)返回一个排序后的新list,不会改变原来的list
#内建函数list.sort(func=None,key=None,reverse=False),调用这个方法,会改变这个list的顺序,但还是原来的list,它没有返回值
print sorted(lnum) #[2, 9, 11, 22, 345]
print lnum #仍是原来的顺序,没有被改变 [11, 22, 345, 2, 9]
lnum.sort(reverse=True) #降序排列
print lnum #改变了原有的顺序 [345, 22, 11, 9, 2]
# reversed(返回的是一个迭代器)
lb=reversed(lnum) # 返回的是一个迭代器,需要用for循环打印
print type(lb) #<type 'listreverseiterator'>
for i in lb:
print i #打印lnum=[11,22,345,2,9]的逆序 9 2 345 22 11
#list 运算符 + *
li = ['a', 'b', 'mpilgrim']
li = li + ['example', 'new']
print li #['a', 'b', 'mpilgrim', 'example', 'new']
li = [1, 2] * 3 #重复3遍
print li # [1, 2, 1, 2, 1, 2]
#zip 把数组柔和在一起
x=['bob','tom','kite']
y=[80,90,95]
z=dict(zip(x,y)) #zip完成,还要转换下类型,转成dict
print z #[('bob', 80), ('tom', 90), ('kite', 95)]
print (z['tom']) #90
print 'end'
#类型转换 List()
x=['bob','tom','kite']
y=set(x)
x=list(y)
print x
#连接字符串 join
li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
s = ";".join(li) #用分号连接不同的元素
print s #连接后的字符串为:server=mpilgrim;uid=sa;database=master;pwd=secret
#分割字符串 split
print s.split(";") #['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']