下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 11 | 列表的定义和常用操作
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

零基础学Python

共71讲 · 71课时·约540分钟
16024
免费
01 | Python语言的特点
免费
02 | Python的发展历史与版本
免费
03 | Python的安装
免费
04 | Python程序的书写规则
免费
05 | 基础数据类型
免费
06 | 变量的定义和常用操作
07 | 序列的概念
08 | 字符串的定义和使用
09 | 字符串的常用操作
10 | 元组的定义和常用操作
11 | 列表的定义和常用操作
12 | 条件语句
13 | for循环
14 | while循环
15 | for循环语句中的if嵌套
16 | while循环语句中的if嵌套
17 | 字典的定义和常用操作
18 | 列表推导式与字典推导式
19 | 文件的内建函数
20 | 文件的常用操作
21 | 异常的检测和处理
22 | 函数的定义和常用操作
23 | 函数的可变长参数
24 | 函数的变量作用域
25 | 函数的迭代器与生成器
26 | Lambda表达式
27 | Python内建函数
28 | 闭包的定义
29 | 闭包的使用
30 | 装饰器的定义
31 | 装饰器的使用
32 | 自定义上下文管理器
33 | 模块的定义
34 | PEP8编码规范
35 | 类与实例
36 | 如何增加类的属性和方法
37 | 类的继承
38 | 类的使用-自定义with语句
39 | 多线程编程的定义
40 | 经典的生产者和消费者问题
41 | Python标准库的定义
42 | 正则表达式库re
43 | 正则表达式的元字符
44 | 正则表达式分组功能实例
45 | 正则表达式库函数match与s...
46 | 正则表达式库替换函数sub...
47 | 日期与时间函数库
48 | 数学相关库
49 | 使用命令行对文件和文件夹...
50 | 文件与目录操作库
51 | 机器学习的一般流程与NumP...
52 | NumPy的数组与数据类型
53 | NumPy数组和标量的计算
54 | NumPy数组的索引和切片
55 | pandas安装与Series结构
56 | Series的基本操作
57 | Dataframe的基本操作
58 | 层次化索引
59 | Matplotlib的安装与绘图
60 | 机器学习分类的原理
61 | Tensorflow的安装
62 | 根据特征值分类的模型和代...
63 | 网页数据的采集与urllib库
64 | 网页常见的两种请求方式ge...
65 | HTTP头部信息的模拟
66 | requests库的基本使用
67 | 结合正则表达式爬取图片链...
68 | Beautiful Soup的安装和...
69 | 使用爬虫爬取新闻网站
70 | 使用爬虫爬取图片链接并下...
71 | 如何分析源代码并设计合理...
本节摘要

课程源码、课件及课后作业地址:

https://github.com/wilsonyin123/geekbangpython

精选留言(11)

  • 2018-08-03
    number =[1,2,3,4,5]
    number.append(100)
    Print (number )
    number.remove(3)
    print (number )
    print (number[0:2])
    展开
    2
    2
  • 2019-09-12
    请问老师你是怎么一下注释那么多的呐

    作者回复: pycharm 支持一个快捷键 ctrl + /

  • 2019-05-27
    num1, *_, num2 = list(two_num),老师,您好,list,怎么可以通过这样的方式,給num1和num2赋值

    作者回复: 您好,python支持这种多变量赋值操作的,语言的特性

  • 2019-04-12
    list1=[1,2,3,4,5]
    list1.append(100)
    print(list1)

    list1=[1,2,3,4,5]
    list1.remove(3)
    print(list1)

    list1=[1,2,3,4,5]
    print(list1[0:3])

    list1=[1,2,3,4,5]
    print(list1[-1])
    展开
  • 2019-02-18
    请问老师python的数据结构就是像列表、元组、等方法是怎么实现的吗?该怎么去学习这个数据结构
  • 2019-02-18
    请问老师,python的数据结构就是列表、元组、等方法是怎么实现的吗?还怎么去学习数据结构

    作者回复: 1 基础数据类型就是 数字、字符串、列表、元组、字典、集合,他们是在python编写时(使用C语言)实现的。
    2 从数据结构上来看可以使用这些基础的数据类型实现表、树、图、栈以及根据语言的特性做各种排序、查找操作。

  • 2018-12-22

    请教老师一个问题:
    就是在练习4我给元组里定义的字符串为什么不能用连接操作符?而数字却是可以的?

    # 练习二 字符串基本操作
    # 定义两个字符串分别为 xyz 、abc
    # 对两个字符串进行连接
    # 取出xyz字符串的第二个和第三个元素
    # 对abc输出10次
    # 判断a字符(串)在 xyz 和 abc 两个字符串中是否存在,并进行输出
    xyz="xyz"
    abc="abc"
    print(xyz+abc)
    print(abc*10)
    print(xyz[1])
    print(xyz[2])
    print("a" in xyz)
    print("a" in abc)

    # 练习三 列表的基本操作
    # 定义一个含有5个数字的列表
    # 为列表增加一个元素 100
    # 使用remove()删除一个元素后观察列表的变化
    # 使用切片操作分别取出列表的前三个元素,取出列表的最后一个元素
    abc_list=["123","456","789"]
    abc_list.append("丁香")
    print(abc_list)
    abc_list.remove("456")
    print(abc_list)
    print(abc_list[0:2])
    print(abc_list[-1])

    # 练习四 元组的基本操作
    # 定义一个任意元组,对元组使用append() 查看错误信息
    # 访问元组中的倒数第二个元素
    # 定义一个新的元组,和 1. 的元组连接成一个新的元组
    # 计算元组元素个数
    a=(u'巨蟹座',u'天蝎座',u'摩羯座')
    #a.append(u'白羊座')
    print(a[-2])
    b=(u'双子座')
    #print(a+b)
    c=(11,12,13,14)
    d=(65,21,22,45)
    print(c+d)
    print(len(c+d))
    展开

    作者回复: 注意b“元组”只有一个元素,而在括号内没增加逗号“,” 导致python认为b是字符串,可以用type(b)来查看一下。另外报错信息也提示tuple不能和str类型相加

  • 2018-10-28
    列表的写法和集合的写法一致,都是用[]来定义。那么如何区分列表和集合,以及二者之间的关系和区别是什么?

    作者回复: 列表和集合定义的符合是不同的,列表是方括号“[]”集合是花括号“{}”。如定义一个集合:
    myset={'a','b','c','a'}
    print(type(myset))
    print(myset)

    列表和集合都是python的基本数据结构,和列表比起来集合类型不能索引,不能切片,也不能有重复的元素,被用作高效去除重复元素来使用

  • 2018-10-09
    #列表练习题
    c=[1,2,3,4,5]
    c.append(100)
    print(c)
    c.remove(100)
    print(c)
    print(c[0:3])
    print(c[-1])

    #元组练习题
    d=(11,23,12,13,24)
    #d.append(34)
    print(d[-2])
    e=(32,31,33,34)
    print(d+e)
    print(len(d))
    展开
  • 2018-08-03
    应该配合理论知识授课,这样更好

    作者回复: 可以多参考官方文档上的定义,视频中涉及的理论知识偏少。

  • 尹老师,在做github上序列的练习题时遇到两个问题,求解惑。

    序列练习二第三项-取出字符串的第二第三元素,我尝试把字符串赋值为序列,那么使用中括号按顺序就很容易切割了,不知道您命题的原意是否是使用这个方法,还是使用filter?

    练习四中元祖的操作练习我觉得应该就是对filter功能的应用了,但我在练习时遇到很奇怪的问题是,在PyCharm环境下没法实现filter功能,不知道是自己的代码有问题还是怎么,但同样的代码我又在官方自带的IDLE上试了下,是成功的…不知道哪里出了问题。

    最后给pc端提个意见…似乎网页版并不支持留言,我还得特意回到手机上提问题,码字很累…其实条件允许的情况下还是在电脑上学习比较方便,可以跟着练习,希望老师能跟产品组反馈一下。

    谢谢尹老师,课程很棒,我会努力跟上学下去!
    展开

    作者回复: 谢谢邹同学,我会将你的意见反馈给产品组,优化大家的学习平台的,如果问题较长建议从PC端编辑,粘贴到留言区,手机码字真的…..有点累。

    第一个问题:
            首先,字符串、元组、列表都是“序列”的一部分,序列是总的概念,我们不能直接使用序列,要把他们具体化成一类可操作的类型,即:字符串、元组、列表了。这里主要希望大家通过字符串的操作掌握序列的用法,这种用法同样适用于元组、列表。一学三用有没有:P
            取得字符串的第二、三个元素在Python里面和其他语言是有很大差异的,而Python可以通过序列操作非常非常简单的就能获取到指定元素,其他语言则要做些处理和转换,因此我设计了这样一个题目,并不需要使用filter。
    第二个问题:
            Python中的元组和列表很相似,区别是元组内的元素不可修改。例如我定义一个元组:
    tup1 = (1, 2, 3, 4),使用 tup1.add(5) 会报错,这是由元组本身的特性决定的;
            第2个和第3个也不需要使用filter()函数来实现,考虑他们都是序列类型,可以使用序列操作的方法来实现一下;
           第4个可以使用计算字符串、列表的函数即可完成。
    作业的答案我会在后面的更新过程中公布出来的,这里需要通过大量练习熟练掌握序列的基本操作方法。无论在后面的学习还是工作中,序列操作都会有大量的应用。