1.索引:[]运算符
In [1]: lst=[5.4,'hello',2] In [2]: lst[0] Out[2]: 5.42.切片:[:]
In [3]: lst[1:2] Out[3]: ['hello'] In [4]: lst[1:3] Out[4]: ['hello', 2]3.拼接:+
In [5]: newlst=lst+[1.2,3.5] In [6]: newlst Out[6]: [5.4, 'hello', 2, 1.2, 3.5]4.重复:*
In [13]: lst Out[13]: [5.4, 'hello', 2] In [14]: lst*3 Out[14]: [5.4, 'hello', 2, 5.4, 'hello', 2, 5.4, 'hello', 2] In [15]:5.成员:in 运算符
In [7]: 2 in lst Out[7]: True In [8]: 3.5 in lst Out[8]: False6.长度:len() 函数
In [9]: len(lst) Out[9]: 3 In [10]: len(newlst) Out[10]: 57.循环: for
In [12]: for i in lst: ....: print i ....: 5.4 hello 2 In [13]:8.列表的方法:
In [15]: lst[0]=5 #重新赋值 In [16]: lst Out[16]: [5, 'hello', 2] In [17]: lst[0:2]=[3,6] #通过切片对子列表进行赋值 In [18]: lst Out[18]: [3, 6, 2] In [19]: lst Out[19]: [3, 6, 2] In [20]: lst.append("abc") #append(内容)末尾追加一个新的元素 In [21]: lst Out[21]: [3, 6, 2, 'abc'] In [22]: lst.extend(['nihao','beautiful']) #extend([])追加一个新的列表 In [23]: lst Out[23]: [3, 6, 2, 'abc', 'nihao', 'beautiful'] In [24]: lst.insert(3,'100') #insert(位置,内容)在任意位置插入 In [25]: lst Out[25]: [3, 6, 2, '100', 'abc', 'nihao', 'beautiful'] In [27]: lst.pop() #默认删除最后一个,并且将其返回 Out[27]: 'beautiful' In [28]: lst.pop(1) #pop(下标)指定删除 Out[28]: 6 In [29]: lst.remove('100') #remove(内容)删除 In [30]: lst Out[30]: [3, 2, 'abc', 'nihao'] In [31]: lst.sort() #sort(排序 In [32]: lst Out[32]: [2, 3, 'abc', 'nihao'] In [33]: lst.reverse() #reverse()逆序 In [34]: lst Out[34]: ['nihao', 'abc', 3, 2] In [35]: lst. lst.append lst.extend lst.insert lst.remove lst.sort lst.count lst.index lst.pop lst.reverse In [35]:示例: 求若干元素的平均数:
!!代码块 #!/bin/env python #coding:utf-8 nums=[] for i in range(5): nums.append(float(raw_input())) avg = sum(nums)/len(nums) #sum()求和 #max()求最大的数 #min()求最小的数 print avg >>>>>>>>>>>>>>>> !!运行结果 [root@foundation66 python]# python numbers.py 1 2 3 4 5 3.0 [root@foundation66 python]#9.列表解析
(1)列表推倒实现求平均分 In [1]: student=[['zhang',84],['wang',98],['li',76]] In [7]: sum([x[1] for x in student])/len(student) Out[7]: 86 (2)使用列表解析对所输入的数字i的因数求和 若输入6时,输出结果应为:(1+2+3+6=1)2 In [5]: sum([i for i in range(1,7) if 6%i==0]) Out[5]: 12 *返回x^2的值 #!/bin/env python #coding:utf-8 print sum([i for i in range(1,7) if 6%i==0]) ''' 列表解析: 表示方法:[表达式 for 变量 in 列表 if 条件] 例如:如生成值为{x^2 : x属于{1..9}} lst=[] for x in range(1,9): lst.append(x**2) print lst 用列表解析优化后: lst = [x**2 for x in range(1,9)] #对于1-8的数字求他的平方 ''' *求平均分并且排序 #!/bin/env python #coding:utf-8 student=[['zhang',84],['wang',98],['li',76]] #s=0 #for chengji in student: # s += chengji[1] # #print float(s)/len(student) print float(sum([x[1] for x in student]))/len(student) #按照成绩从达到小排序 #def f(a): # return a[1] #student.sort(reverse=True) student.sort(key=lambda x:x[1],reverse=True) #注:匿名函数不能直接调用,调用时需要给其赋值 #lambda 参数:返回值 print student #如果reverse=True则按照倒叙(从达到小)排列——>即不可变的列表,一旦生成,内容无法改变 1.除了可改变列表内容的方法之外,其他的方法均可适用于元组 2.因此,索引、切片、len()、print等均可用 3.但是,append、extend、del等不可用 4.为什么需要元组—保证列表内容不被修改
*定义方法
In [8]: my_tuple=1,'a',3.14,True In [9]: my_tuple Out[9]: (1, 'a', 3.14, True) In [10]: my_tuple=(1,'a',3.14,True) In [11]: my_tuple Out[11]: (1, 'a', 3.14, True) In [12]: type(my_tuple) #type()查看类型 Out[12]: tuple*用’@’进行分割 In [14]: name,domain = ‘car@edu.cn’.split(‘@’)
In [15]: name Out[15]: ‘car’
In [16]: domain Out[16]: ‘edu.cn’
