鱼C论坛

 找回密码
 立即注册

python学习小菜笔记——第十课(了不起的分支和循环3)

已有 592 次阅读2014-8-22 18:18 |个人分类:Python学习

课堂笔记:


1.创建列表

上节课我们创建了一个member的列表:

>>> member = [‘小甲鱼’, ‘小布丁’, ‘黑夜’, ‘迷途’, ‘怡静’]

 

创建列表跟创建普通变量一样,用中括号括起一堆数据就可以了,数据之间用逗号隔开,这样一个普普通通的列表就创建成功了。

>>> number = [1, 2, 3, 4, 5]

 

我们说列表是打了激素的数组不是没有道理的,我们可以创建一个鱼龙混杂的列表:

>>> mix = [1, ‘小甲鱼’, 3.14, [1, 2, 3]]

 

当然,如果我们实在想不到要往列表里边塞什么数据的时候,我们可以先创建一个空列表:

>>> empty = []

 

2.向列表添加元素
  • append()
  • extend()
  • insert()


3. member.append(['竹林小溪', 'Crazy迷恋']) 和 member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?

append追加单个对象,会显示中括号,extend是把列表重的表项添加到列表中,没有中括号

  
4. 有列表 name = ['F', 'i', 'h', 'C'],如果小甲鱼想要在元素 'i' 和 'h' 之间插入元素 's',应该使用什么方法来插入?
  
name.Index(2,'S'),
name.insert(2, 's')

动动手:
  
0. 自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?

假设给定以下列表:

member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']

要求将列表修改为:

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]

方法一:使用 insert() 和 append() 方法修改列表。

方法二:重新创建一个同名字的列表覆盖。

  
测试题:
   
0. 列表都可以存放一些什么东西?

列表是序列对象,可包含任意的Python数据信息,如字符串、数字、列表、元组等
我们说 Python 的列表是一个打了激素的数组,如果把数组比喻成集装箱,那么 Python 的列表就是一个大仓库,Ta 可以存放我们已经学习过的任何数据类型。

>>> mix = [1, ‘小甲鱼’, 3.14, [1, 2, 3]]

  

1. 向列表增加元素有哪些方法?

append extend insert
这节课我们教过大家三种方法想列表增加元素,分别是:append()、extend() 和 insert()。


  
2. append() 方法和 extend() 方法都是向列表的末尾增加元素,请问他们有什么区别?

append在列表尾部追加单个对象x,使用多个参数会引起异常
extend(L),将列表L中的表项添加到列表中,返回None

append() 方法是将参数作为一个元素增加到列表的末尾。
extend() 方法则是将参数作为一个列表去扩展列表的末尾。











































方法一:
  1. member.insert(1, 88)
  2. member.insert(3, 90)
  3. member.insert(5, 85)
  4. member.insert(7, 90)
  5. member.append(88)
复制代码
方法二:
  1. member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
复制代码
对于这种情况,明显是第二种方法看起来要好一些嘛。

不过对于大型的列表,第一种方法可能更合适,所以我们说永远没有最好的,只有最合适的。



1. 利用 for 循环打印上边 member 列表中的每个内容,如图:


a = ['小甲鱼','黑夜','迷途','怡静','秋舞斜阳']
for i in a:
    print(i)
    b= [88,85,90,85,88]
    x=0
    print(b[x])
    x=x+1

  1. member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
  2. for each in member:
  3.     print(each)




2. 上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】
a = ['小甲鱼','黑夜','迷途','怡静','秋舞斜阳']
n=0
x = 0
while n>=0:
    print(a[n],end=' ')
    b = [88,90,85,90,88]
    print(b[x])
    n=n+1
    x=x+1
    if n==5 and x==5:
        break

  1. 方法一:
  2. count = 0
  3. length = len(member)
  4. while count < length:
  5.     print(member[count], member[count+1])
  6.     count += 2

  7. 方法二:    
  8.     
  9. for each in range(len(member)):
  10.     if each%2 == 0:
  11.         print(member[each], member[each+1])




课后补充
• 列表简介:
o 列表是序列对象,可包含任意的Python数据信息,如字符串、数字、列表、元组等
o 列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加、修改、删除等操作
o 可以通过list(seq)函数把一个序列类型转换成一个列表
• 列表对象支持的方法:
o 1.append(x),在列表尾部追加单个对象x,使用多个参数会引起异常
o 2.count(x),返回对象x在列表中出现的次数
o 3.extend(L),将列表L中的表项添加到列表中,返回None
o 4.Index(x),返回列表中匹配对象x的第一个列表项的索引,无匹配元素时产生异常
o 5.insert(i,x),在索引为i的元素前插入对象x,如list.insert(0,x)在第一项前插入对象,返回None
o 6.pop(x),删除列表中索引为x的表项,并返回该表项的值,若未指定索引,pop返回列表最后一项
o 7.remove(x),删除列表中匹配对象x的第一个元素,匹配元素时产生异常,返回None
o 8.reverse(),颠倒列表元素的顺序
o 9.sort(),对列表排序,返回none,bisect模块可用于排序列表项的添加和删除

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-13 10:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部