小甲鱼python听课笔记p11-p15

p11 7.1 列表1 = 打了激素的数组

列表可以存放不同类型的数,还可以创建空列表

小甲鱼python听课笔记p11-p15

append():向列表里面添加数据

末尾添加一个元素

但是只能一次插入一个数据

小甲鱼python听课笔记p11-p15

extend():扩张的方式来扩展列表

末尾添加多个元素,但要求已列表的格式添加[x,x,x,x]

用一个列表来扩展另一个列表,所以他的参数是一个列表,不能直接像append那样来用

小甲鱼python听课笔记p11-p15

insert():两个参数,插入

insert(1,‘kk’):在a的位置后面插入kk,相当于从0开始数,在1的位置放入kk

小甲鱼python听课笔记p11-p15

课后习题:

小甲鱼python听课笔记p11-p15

不一样

小甲鱼python听课笔记p11-p15

假设给定以下列表:member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']

要求将列表修改为:member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]

小甲鱼python听课笔记p11-p15

小甲鱼python听课笔记p11-p15

小甲鱼python听课笔记p11-p15

小甲鱼python听课笔记p11-p15

p12 列表2

index:从列表中获取元素,下标都是从0开始

小甲鱼python听课笔记p11-p15

从列表删除元素

remove()

小甲鱼python听课笔记p11-p15

del()

小甲鱼python听课笔记p11-p15

del + 列表名,可以把整个列表删掉

小甲鱼python听课笔记p11-p15

pop():从列表中取出最后一个元素并返回给你

小甲鱼python听课笔记p11-p15

小甲鱼python听课笔记p11-p15

列表分片slice

slice:一次性需要获取多个元素

member[1:3]:1是开始位置,3是结束位置,但结果不包含3

                          源列表不发生任何改变

小甲鱼python听课笔记p11-p15

课后习题:

2.如果你每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边,你会怎么做?

小甲鱼python听课笔记p11-p15

4.在进行分片的时候,我们知道分片的开始和结束位置需要进行指定,但其实还有另外一个隐藏的设置:步长。

小甲鱼python听课笔记p11-p15

5

小甲鱼python听课笔记p11-p15

list2与list3的不同之处在于,list2是复制的list1,但是list3是把list3这个标签贴在了list1上

小甲鱼python听课笔记p11-p15

p13 列表3

比较操作符

小甲鱼python听课笔记p11-p15

小甲鱼python听课笔记p11-p15

拼接操作符

list可以用+来拼接,但是不能拼接一个新元素

小甲鱼python听课笔记p11-p15

重复操作符

小甲鱼python听课笔记p11-p15

成员公式操作符

in 只能判断一个层次里面的成员关系,如果list里面又有list就无法判断里面的list的成员,in只影响一层的函数

小甲鱼python听课笔记p11-p15

但是可以双重访问

小甲鱼python听课笔记p11-p15

count

list3中,123出现了15次

小甲鱼python听课笔记p11-p15

index

会返回参数第一次出现在列表中的位置

小甲鱼python听课笔记p11-p15

reverse

将整个列表原地翻转

小甲鱼python听课笔记p11-p15

sort

用指定的顺序对列表成员进行排序,默认是从小到大进行排

想要倒序排序:sort(revers = True)

小甲鱼python听课笔记p11-p15

拷贝操作符

见p12的课后习题最后一个图

课后习题:

1、请问如何将下边这个列表的'小甲鱼'修改为'小鱿鱼'

list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]

小甲鱼python听课笔记p11-p15

列表推导式 列表解析

 [i*i for i in range(10)]

 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

可以用来动态的创建列表,语法如:[有关A的表达式 for A in B]

小甲鱼python听课笔记p11-p15

问题:请先在 IDLE 中获得下边列表的结果,并按照上方例子把列表推导式还原出来

list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0] 

小甲鱼python听课笔记p11-p15

p14 元组tuple – 戴上了枷锁的列表

元组的访问

访问元组和访问列表的形式是一样的

小甲鱼python听课笔记p11-p15

但是元组是不可以被修改的

小甲鱼python听课笔记p11-p15

元组的数据类型

小甲鱼python听课笔记p11-p15

只要有逗号,就是默认创建一个元组

插入

小甲鱼python听课笔记p11-p15

元组可以使用的操作符

拼接操作符 +

重复操作符 * 乘以8的那个

关系操作符 > <

成员操作符 in、not in

课后习题:

元组和列表的区别:

列表:是一个大仓库,可以随时往里面添加和删除任何东西

         需要频繁修改数据时,使用列表

元组:封闭的列表,一旦定义,就不可以改变(增删改)

         当内容不希望轻易被改动的时候,使用元组

 

 

小甲鱼python听课笔记p11-p15

小甲鱼python听课笔记p11-p15

 

有列表推导式,但是将[] 改为() 时没有元组推导式

小甲鱼python听课笔记p11-p15

p15 字符串

字符串的方法及注释

capitalize()
  

  把字符串的第一个字符改为大写
  

  casefold()
  

  把整个字符串的所有字符改为小写
  

  center(width)
  

  将字符串居中,并使用空格填充至长度width的新字符串
  

  count(sub[,start[,end]])
  

  返回sub在字符串里边出现的次数,start和end参数表示范围,可选。
  

  encode(encoding='utf-8', errors='strict')
  

  以encoding指定的编码格式对字符串进行编码。
  

  endswith(sub[,start[,end]])
  

  检查字符串是否以sub子字符串结束,如果是返回True,否则返回False。start和end参数表示范围,可选。
  

  expandtabs([tabsize=8])
  

  把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是tabsize=8。
  

  find(sub[,start[,end]])
  

  检测sub是否包含在字符串中,如果有则返回索引值,否则返回-1,start和end参数表示范围,可选。
  

  index(sub[,start[,end]])
  

  跟find方法一样,不过如果sub不在string中会产生一个异常。
  

  isalnum()
  

  如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。
  

  isalpha()
  

  如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。
  

  isdecimal()
  

  如果字符串只包含十进制数字则返回True,否则返回False。
  

  isdigit()
  

  如果字符串只包含数字则返回True,否则返回False。
  

  islower()
  

  如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回False。
  

  isnumeric()
  

  如果字符串中只包含数字字符,则返回True,否则返回False。
  

  isspace()
  

  如果字符串中只包含空格,则返回True,否则返回False。
  

  istitle()
  

  如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回True,否则返回False。
  

  isupper()
  

  如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回False。
  

  join(sub)
  

  以字符串作为分隔符,插入到sub中所有的字符之间。
  >>> str5 = 'Fishc' >>> str5.join('12345')  '1Fishc2Fishc3Fishc4Fishc5'

  ljust(width)
  

  返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串。
  

  lower()
  

  转换字符串中所有大写字符为小写。
  

  lstrip()
  

  去掉字符串左边的所有空格
  

  partition(sub)
  

  找到子字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回(‘原字符串’, ’’, ’’)
  

  replace(old,new[,count])
  

  把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次。>>> str7 = 'i love fishdm and seven' 
  >>> str7.replace('e','E',2)            'i lovE fishdm and sEven'

  rfind(sub[,start[,end]])
  

  类似于find()方法,不过是从右边开始查找。
  

  rindex(sub[,start[,end]])
  

  类似于index()方法,不过是从右边开始。
  

  rjust(width)
  

  返回一个右对齐的字符串,并使用空格填充至长度为width的新字符串。
  

  rpartition(sub)
  

  类似于partition()方法,不过是从右边开始查找。
  

  rstrip()
  

  删除字符串末尾的空格。
  

  split(sep=None,  maxsplit=-1)
  

  不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表。
  >>> str7.split ()   ['i', 'love', 'fishdm', 'and', 'seven']

  splitlines(([keepends]))
  

  按照‘\n’分隔,返回一个包含各行作为元素的列表,如果keepends参数指定,则返回前keepends行。
  

  startswith(prefix[,start[,end]])
  

  检查字符串是否以prefix开头,是则返回True,否则返回False。start和end参数可以指定范围检查,可选。
  

  strip([chars])
  

  删除字符串前边和后边所有的空格,chars参数可以定制删除的字符,可选。
  

  swapcase()
  

  翻转字符串中的大小写。
  

  title()
  

  返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。
  

  translate(table)
  

  根据table的规则(可以由str.maketrans(‘a’,‘b’)定制)转换字符串中的字符。>>> str8 = 'aaasss sssaaa'
  >>> str8.translate(str.maketrans('s','b'))     'aaabbb bbbaaa'

  upper()
  

  转换字符串中的所有小写字符为大写。
  

  zfill(width)
  

  返回长度为width的字符串,原字符串右对齐,前边用0填充。

课后习题:

小甲鱼python听课笔记p11-p15