python列表的常见计算有哪些、请举例说明_Python基础笔记系列三:list列表

list列表

可以类比于其它语言(如,C语言)的数组,其起始下标为也为0。

1.列表的索引访问

1)通过list_name[index]来访问,每个列表的起始下标为0。

例子:

1 demolist = [1,2,3,4] #列表的定义

2 print type(demolist) #打印类型

3 print demolist[0] #输出第一个元素

4 print demolist[1] #输出第二个元素

输出:

1

2

2)可以通过del list_name[index]来删除列表的下标是index的数据。

例子:

1 demolist = [1,2,3,4] #列表的定义

2 del demolist[2] #删除第三个元素

3 print demolist #输出整个列表

输出:

[1, 2, 4]

2.列表的切片访问

1)想访问列表里一段连续的元素(或规则间隔的元素)可以指定列表的起止位置和终止位置、间隔的步长(可省,默认为1)。语法格式list_name(start:end[:step])表示访问下标为start至end-1的元素,step可省略,可以简记为前闭后开。

例子:

1 demolist = [1,2,3,4,5,6,7,8,9] #列表的定义

2 print demolist[0:5] #访问第1-5的元素

3 print demolist[0:8:2] #访问第1-8的元素,步长为2

输出:

1 [1, 2, 3, 4, 5]2 [1, 3, 5, 7]

2)同样也可以使用del list_name(start:end[:step])来删除对应的元素。

例子:

1 demolist = [1,2,3,4,5,6,7,8,9] #列表的定义

2 del demolist[0:8:2] #删除下标为0到7的元素

3 print demolist #输出整个列表

输出:

1 [2, 4, 6, 8, 9]

3.列表的基本运算

1)列表的加法:列表可以同字符串一样相加。

例子:

1 demolist = [1,2,3,4] #列表的定义

2 print demolist+[5,6,7,8,9]

输出:

1 [1, 2, 3, 4, 5, 6, 7, 8, 9]

2)列表的乘法:相当于字符串的乘法,一个列表乘(*)以N次,表示这个列表相加了N次。

例子:

1 demolist = ["y","y","c"] #列表的定义

2 print demolist* 3 #列表可以做乘法

输出:

1 ['y', 'y', 'c', 'y', 'y', 'c', 'y', 'y', 'c']

3)列表的in和not in运算:用于判断某个元素是否在(不在)列表中。在返回True,不在返回False。

例子:

1 demolist = [1,2,3,4] #列表的定义

2 print 2 in demolist #判断元素是否在列表中

3 print 21 in demolist

输出:

1 True2 False

4)列表的遍历:可以通过像字符串那样使用for循环来遍历列表。

例子:

1 demolist = [1,2,3,4] #列表的定义

2 i =03 for value indemolist:4 print 'demolist[%d]:'%(i),value5 i += 1

输出:

1 demolist[0]: 1

2 demolist[1]: 2

3 demolist[2]: 3

4 demolist[3]: 4

5)列表的解析:可以方便的对列表中的元素进行运算,语法格式:[val_expr for val in list_name],val_expr是一个关于val的运算表达式,val用于存储for每次从列表中取出的元素,然后通过val_expr的运算形成一个新的列表项,for循环结束则生成一个新的列表。

例子:计算1-9每个数本身的次方,如2**2 = 4

1 demolist = range(1,10) #列表的定义:生成一个[1,10)的列表

2 printdemolist3 new_list = [x**x for x indemolist]4 print new_list

输出:

1 [1, 2, 3, 4, 5, 6, 7, 8, 9]2 [1, 4, 27, 256, 3125, 46656, 823543, 16777216, 387420489]

4.列表相关函数

TIPS--->列表的函数很多,这里有个小技巧:遇到这种很多函数又记不住,可以通过help 函数查看该类型拥有的所有方法,例如:

1 demolist = [1,2,3,4] #列表的定义

2 print help(demolist) #通过help函数查看该类型所有的函数方法

输出:太多,已折叠代码

1 Help on list object:2

3 classlist(object)4 | list() ->new empty list5 | list(iterable) -> new list initialized from iterable's items

6 |

7 |Methods defined here:8 |

9 | __add__(...)10 | x.__add__(y) <==> x+y11 |

12 | __contains__(...)13 | x.__contains__(y) <==> y inx14 |

15 | __delitem__(...)16 | x.__delitem__(y) <==> delx[y]17 |

18 | __delslice__(...)19 | x.__delslice__(i, j) <==> delx[i:j]20 |

21 | Use of negative indices is notsupported.22 |

23 | __eq__(...)24 | x.__eq__(y) <==> x==y25 |

26 | __ge__(...)27 | x.__ge__(y) <==> x>=y28 |

29 | __getattribute__(...)30 | x.__getattribute__('name') <==>x.name31 |

32 | __getitem__(...)33 | x.__getitem__(y) <==>x[y]34 |

35 | __getslice__(...)36 | x.__getslice__(i, j) <==>x[i:j]37 |

38 | Use of negative indices is notsupported.39 |

40 | __gt__(...)41 | x.__gt__(y) <==> x>y42 |

43 | __iadd__(...)44 | x.__iadd__(y) <==> x+=y45 |

46 | __imul__(...)47 | x.__imul__(y) <==> x*=y48 |

49 | __init__(...)50 | x.__init__(...) initializes x; see help(type(x)) forsignature51 |

52 | __iter__(...)53 | x.__iter__() <==>iter(x)54 |

55 | __le__(...)56 | x.__le__(y) <==> x<=y57 |

58 | __len__(...)59 | x.__len__() <==>len(x)60 |

61 | __lt__(...)62 | x.__lt__(y) <==> x

64 | __mul__(...)65 | x.__mul__(n) <==> x*n66 |

67 | __ne__(...)68 | x.__ne__(y) <==> x!=y69 |

70 | __repr__(...)71 | x.__repr__() <==>repr(x)72 |

73 | __reversed__(...)74 | L.__reversed__() -- returna reverse iterator over the list75 |

76 | __rmul__(...)77 | x.__rmul__(n) <==> n*x78 |

79 | __setitem__(...)80 | x.__setitem__(i, y) <==> x[i]=y81 |

82 | __setslice__(...)83 | x.__setslice__(i, j, y) <==> x[i:j]=y84 |

85 | Use of negative indices is notsupported.86 |

87 | __sizeof__(...)88 | L.__sizeof__() -- size of L in memory, inbytes89 |

90 |append(...)91 | L.append(object) --append object to end92 |

93 |count(...)94 | L.count(value) -> integer -- returnnumber of occurrences of value95 |

96 |extend(...)97 | L.extend(iterable) -- extend list by appending elements fromthe iterable98 |

99 |index(...)100 | L.index(value, [start, [stop]]) -> integer -- returnfirst index of value.101 | Raises ValueError if the value is notpresent.102 |

103 |insert(...)104 | L.insert(index, object) --insert object before index105 |

106 |pop(...)107 | L.pop([index]) -> item -- remove and returnitem at index (default last).108 | Raises IndexError if list is empty or index isout of range.109 |

110 |remove(...)111 | L.remove(value) --remove first occurrence of value.112 | Raises ValueError if the value is notpresent.113 |

114 |reverse(...)115 | L.reverse() -- reverse *IN PLACE*

116 |

117 |sort(...)118 | L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;119 | cmp(x, y) -> -1, 0, 1

120 |

121 | ----------------------------------------------------------------------

122 | Data andother attributes defined here:123 |

124 | __hash__ =None125 |

126 | __new__ =

127 | T.__new__(S, ...) ->a new object with type S, a subtype of T128

129 None

通过help查看的list相关函数

如果只记得方法名不知道参数怎么传了,可以用help(变量名.方法名),例如:

1 demolist = [1,2,3,4] #列表的定义

2 print help(demolist.insert) #通过help函数查看具体某方法的用法

输出:

1 Help on built-infunction insert:2

3 insert(...)4 L.insert(index, object) --insert object before index5

6 None

1) 所以呢,列表的方法太多了,下面列举几个常用的函数:

1 demolist = [1,2,3,4] #列表的定义

2 demolist.pop() #1出桟,删除最后一个元素

3 printdemolist4

5 demolist.pop(1) #2出桟,删除下标为1的元素

6 printdemolist7

8 demolist.append(20) #3追加一个数

9 printdemolist10

11 demolist.append('hello') #4还可以追加一个字符串、实型等任何类型

12 printdemolist13

14 demolist.append(['a','b',"c",20]) #5甚至还可以追加一个列表,(注:python中字符用单引号双引号都一样)

15 printdemolist16

17 print len(demolist) #6列表长度

18

19 demolist.insert(2, [8,9,10]) #7在列表的指定位置插入元素(可以时任意对象,如这里就是插入的一个列表)

20 printdemolist21

22 print demolist.count(20) #8统计某个值在列表中出现的次数

23

24 demolist.extend([20,100,200,300]) #9将指定的列表以个体的方式追加到列表的末尾

25 printdemolist26

27 demolist.remove(20) #10删除列表中第一次出现的指定元素

28 print demolist

输出:

1 [1, 2, 3]2 [1, 3]3 [1, 3, 20]4 [1, 3, 20, 'hello']5 [1, 3, 20, 'hello', ['a', 'b', 'c', 20]]6 5

7 [1, 3, [8, 9, 10], 20, 'hello', ['a', 'b', 'c', 20]]8 1

9 [1, 3, [8, 9, 10], 20, 'hello', ['a', 'b', 'c', 20], 20, 100, 200, 300]10 [1, 3, [8, 9, 10], 'hello', ['a', 'b', 'c', 20], 20, 100, 200, 300]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值