python入门学习教程之List(列表)

来源:互联网 发布:澳门大学 知乎 编辑:程序博客网 时间:2024/05/25 23:58

单引号 双引号

如果字符串中只有单引号而没有双引号,就用双引号引用,否则用单引号引用。
如果你前面带有 \ 的字符被当作特殊字符,你可以使用 原始字符串,方法是在第一个引号前面加上一个 r:

 >>> print('C:\some\name')  # here \n means newline!C:\someame>>> print(r'C:\some\name')  # note the r before the quoteC:\some\name

字符串文本能够分成多行。一种方法是使用三引号:”“”…”“” 或者 ”’…”’。行尾换行符会被自动包含到字符串中,但是可以在行尾加上 \ 来避免这个行为。下面的示例: 可
以使用反斜杠为行结尾的连续字符串,它表示下一行在逻辑上是本行的后续内容:

print("""\Usage: thingy [OPTIONS]     -h                        Display this usage message     -H hostname               Hostname to connect to""")

相邻的两个字符串文本自动连接在一起,不适用于字符串表达式(可用+号连接)

>>> 'Py' 'thon''Python'

列表

1.接口总览

len([1,’str’,])的返回值是2,后面多余的逗号不能算多了一个元素。
olist.append(x):添加一个元素到链尾。
olist.extend(olist):追加一个列表,等价于+=。
olist.insert(i,x):在位置i处插入x,其余向后退。大于列表长度在最后添加,小于0在开始处添加。
olist.remove(x):删除值为x的元素,长度减一,不存在抛出ValueError异常。
olist.reverse():在原序列上反转,返回值为None。
olist.pop([i]):返回并删除位置为i的元素,i默认为最后一个元素。
olist.index(i):返回x在列表中第一次出现的位置,不存在抛出ValueError异常。
olist.count(x):返回x在列表中出现的次数。
olist.sort():排序。

2.创建列表[]符号

直接创建:x=[1,2,3];split:y='1 2 3'.split() #中间为空格 实测为“,”,得到的['1,2,3'] 而不是['1', '2', '3']range:L3=list(range(3))   [0,1,2]

3.添加元素

append 原有列表末尾添加一个item
extend 在原有列表末尾添加若干个item,字符串将分解为字符列表
insert(n,’c’) //在原有列表的n位置添加一个item

a_list=[]a_list.append('hello')a_list.append(['hello']) a_list.extend('hello')  a_list.extend(['hello'])a_list.insert(0,'c')   a_list.insert(0,['c']) print(a_list)最后输出:[['c'], 'c', 'hello', ['hello'], 'h', 'e', 'l', 'l', 'o', 'hello']

4.删除元素

del删除。它按item的索引值或切片进行删除:
remove方法删除。它不按item索引,而是按照item的值进行删除:
pop方法删除。它按item索引值进行删除,同时返回被删除的item值;若不指定索引,默认删除最后一个item:

d1=['1','2','3','456789']del d1[0]print(d1)   #['2', '3', '456789']del d1[:2]  #删除01元素 :号:左闭右开print(d1)   #['456789']d1=['1','2','3','456789']d1.remove('2')print(d1)   #['1', '3', '456789']d1.remove('3')print(d1)   #['1', '456789']d1=['1','2','3','456789']d1.pop()print(d1)   #['1', '2', '3']d1.pop(1)print(d1)   #['1', '3']

5.其他常用接口函数

  •   通过索引进行元素的重新赋值:
a_list = ['a','b','c','hello']:a_list[1] = 'bbb'
  • 查看元素是否在列表中 使用in、 not in
a_list = ['a','b','c','hello']'a' in a_list  判断值a是否在列表中,并返回TrueFalse'a' not in a_list //判断a是否不在列表中,并返回TrueFalse
  • 统计指定值在列表中出现的次数,count方法
a_list.count('a')  //返回a在列表中的出现的次数
  • 查看指定值在列表中的位置,index方法:
a_list.index('a')   //返回a在列表中每一次出现的位置,默认搜索整个列表a_list.index('a',0,3)  //返回a在指定切片内第一次出现的位置

6.算法实例

  • 反序输出 reverse()

    d1=['1','2','3','456789']d1.reverse()print(d1)输出:['456789', '3', '2', '1']
  • 排序
d1=[2,1,9,4,3,6,7,5,8]d1.sort()print(d1)[1, 2, 3, 4, 5, 6, 7, 8, 9]
  • 遍历
python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如l = [1,2,3,4]for i in l:    if i != 4:        l.remove(i)print(l)输出 [2, 4]这几句话本来意图是想清空列表l,只留元素4,但是实际跑起来并不是那个结果。再看下面,利用index来遍历删除列表ll = [1, 2, 3, 4]for i in range(len(l)):    if l[i] == 4:        del l[i]print(l)这样没问题,可以遍历删除,但是列表l如果变为 l = [1,2,3,4,5]如果还是按照上面的方法,设想一下,range开始的范围是0-4,中间遍历的时候删除了一个元素4,这个时候列表变成了= [1,2,3,5],这时候就会报错了,提示下标超出了数组的表示,原因就是上面说的遍历的时候删除了元素所以python的list在遍历的时候删除元素一定要小心可以使用filter过滤返回新的listl = [1,2,3,4]l = filter(lambda x:x !=4,l)print( l)这样可以安全删除l中值为4的元素了,filter要求两个参数,第一个是规则函数,第二个参数要求输入序列,而lambda这个函数的作用就是产生一个函数,是一种紧凑小函数的写法,一般简单的函数可以这么些或者可以这样l = [1,2,3,4]l = [ i for i in l if i !=4]//同样产生一个新序列,复值给lprint(l)
0 0
原创粉丝点击