人生苦短,我选Python

前文传送门

小白学 Python(1):开篇

小白学 Python(2):基础数据类型(上)

小白学 Python(3):基础数据类型(下)

小白学 Python(4):变量基础操作

小白学 Python(5):基础运算符(上)

小白学 Python(6):基础运算符(下)

小白学 Python(7):基础流程控制(上)

小白学 Python(8):基础流程控制(下)

前言

在开始今天的内容之前先简单介绍一下 Python 内置的数据结构,包括:

  • 列表(list)
  • 元组(tuple)
  • 字典(dict)
  • 集合(set)

在Python语言中,以上4种数据结构和基础数据类型(整数、浮点数等)统称为“内置类型”(Built-in Types)。

列表(list)

Python list(列表),是Python中最常用的一种数据结构,它是一组用方括号括起来、逗号分隔的数据。

创建列表:

list1 = [1, 2, 3, 4, 5]
print(list1) list2 = ['a', 'b', 'c', 'd', 'e']
print(list2)

输出结果:

[1, 2, 3, 4, 5]
['a', 'b', 'c', 'd', 'e']

列表中的数据类型可以是相同的,如上面的 int 和 str ,也可以是不同的:

list3 = [1, 2, 3, 'a', 'b']
print(list3)

结果如下:

[1, 2, 3, 'a', 'b']

这个还不算什么,还有更骚的操作,列表里面是可以嵌套列表的:

list4 = [1, 2.33, 'a', list3]
print(list4)

结果如下:

[1, 2.33, 'a', [1, 2, 3, 'a', 'b']]

这一层一层的,又让我想起了洋葱。。。

空列表

list5 = []
print(list5)

列表的一些基操

查看列表的类型

查看类型的函数是 type() ,那么如果我们看下列表的类型呢?

print(type(list4))

结果如下:

<class 'list'>

通过索引取出列表的元素

语法:列表名[索引]

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

这里的数字 0 是列表的索引,含义是取出第 0 位的元素。

注意: 这里的索引是从 0 开始的,例如 list1 的索引是 0 ~ 4 。

如果我们直接去取 list1 的索引为 5 的值:

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

这时会直接抛出异常。

Traceback (most recent call last):
File "F:/project/python-learning/base-data-list/Demo.py", line 20, in <module>
print(list1[5])
IndexError: list index out of range

这个异常的含义是:列表索引超出范围。

Python 列表除了正索引还有一个负索引,正索引是列表从头到尾的方向,负索引的是从尾到头。

列表:  ['a', 'b', 'c', 'd', 'e']
| | | | |
正索引: 0 1 2 3 4
负索引: -5 -4 -3 -2 -1

使用加号连接列表

语法: 列表1 + 列表2

print(list1 + list2)

结果如下:

[1, 2, 3, 4, 5, 'a', 'b', 'c', 'd', 'e']

对列表元素进行 for 循环

语法:

for 变量 in 列表:

print(变量)

for i in list1:
print(i)

结果如下:

1
2
3
4
5

获取列表长度

语法: len(列表)

print(len(list1))

print(len(list1 + list2))

结果如下:

5
10

检查列表中是否存在某个元素

返回的是布尔值 bool 。

print('a' in list1)
print(1 in list1)

结果如下:

False
True

删除列表

语法: del 列表名

list1 = [1, 2, 3, 4, 5]

del list1
print(list1)

结果如下:

Traceback (most recent call last):
File "D:/Development/Projects/python-learning/base-data-list/Demo.py", line 40, in <module>
print(list1)
NameError: name 'list1' is not defined

很显然,将 list1 删除之后会报错 list1 未定义。

删除列表中索引为 i 的元素

语法: del list1[i]

list1 = [1, 2, 3, 4, 5]

del list1[2]
print(list1)

结果如下:

[1, 2, 4, 5]

返回列表中最大的值

语法:max(list1)

print(list1)
print(max(list1))
print(list4)
print(max(list4))

结果如下:

[1, 2, 4, 5]
5
[1, 2.33, 'a', [1, 2, 3, 'a', 'b']]
Traceback (most recent call last):
File "D:/Development/Projects/python-learning/base-data-list/Demo.py", line 51, in <module>
print(max(list4))
TypeError: '>' not supported between instances of 'str' and 'float'

list4 中取最大值报错了,报错原因是 'str' 和 'float' 无法比较大小。

返回列表中最小的值

语法:min(list1)

print(list1)
print(min(list1))
print(list4)
print(min(list4))

结果如下:

[1, 2, 4, 5]
1
[1, 2.33, 'a', [1, 2, 3, 'a', 'b']]
Traceback (most recent call last):
File "D:/Development/Projects/python-learning/base-data-list/Demo.py", line 51, in <module>
print(max(list4))
TypeError: '<' not supported between instances of 'str' and 'float'

list4 中取最小值报错了,报错原因和上面取最大是一样的, 'str' 和 'float' 无法比较大小。

示例代码

本系列的所有代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便大家取用。

示例代码-Github

示例代码-Gitee

小白学 Python(9):基础数据结构(列表)(上)的更多相关文章

  1. 小白学 Python(10):基础数据结构(列表)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  2. 小白学 Python(12):基础数据结构(字典)(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  3. 小白学 Python(14):基础数据结构(集合)(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  4. 小白学 Python(11):基础数据结构(元组)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  5. 小白学 Python(13):基础数据结构(字典)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  6. 小白学 Python(15):基础数据结构(集合)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  7. 小白学 Python(16):基础数据类型(函数)(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  8. 小白学 Python(23):Excel 基础操作(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  9. 小白学 Python(2):基础数据类型(上)

    人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基础数据类型.啥?你问我为啥要先了解基础数据类型? 为了你的生命安全,还是乖乖听我 B ...

随机推荐

  1. [AWS] 01 - What is Amazon EMR

    [DE] ML on Big data: MLlib 关于 Amazon EMR 发布版本 利用 Amazon EMR 分析大数据 Amazon Athena 是一种交互式查询服务,让您能够轻松使用标 ...

  2. at org.apache.jsp.WEB_002dINF.pages.login_jsp._jspInit( login_jsp.java:22)

    SEVERE: Servlet.service() for servlet jsp threw exception java.lang.NullPointerException at org.apac ...

  3. WPS删除多余空白页

    WPS删除多余空白页 在实际工作中,我们在操作WPS文字的时候常常会遇到一种问题,就是当在文字占满整页的时候,文档常常会多出一页空白页的现象.如图1 图 1   对于WPS文字怎么删除空白页这个问题, ...

  4. Spring boot 官网学习笔记 - logging

    commons-logging和slf4j是java中的日志门面,即它们提供了一套通用的接口,具体的实现可以由开发者自由选择.log4j和logback则是具体的日志实现方案. 比较常用的搭配是com ...

  5. 每个人都要学的图片压缩终极奥义,有效解决 Android 程序 OOM

    # 由来 在我们编写 Android 程序的时候,几乎永远逃避不了图片压缩的难题.除了应用图标之外,我们所要显示的图片基本上只有两个来源: 来自网络下载 本地相册中加载 不管是网上下载下来的也好,还是 ...

  6. mysql 遍历方式

    mysql遍历方式可以使用while,loop和repeat来实现,示例如下: BEGIN ; # WHILE DO ; END WHILE; # SELECT i; # LOOP optLoop:L ...

  7. 对vue nextTick深入理解-vue性能优化、DOM更新时机、事件循环机制

    一.定义[nextTick.事件循环] nextTick的由来: 由于VUE的数据驱动视图更新,是异步的,即修改数据的当下,视图不会立刻更新,而是等同一事件循环中的所有数据变化完成之后,再统一进行视图 ...

  8. .Net Core快速创建Windows服务

    1.新建.Net Core控制台程序,添加新建项Windows服务: NuGet引用 System.ServiceProcess.ServiceController,然后修改Progran.cs: c ...

  9. ES6学习总结之Set和Map数据结构的理解

    前言 当我们需要存储一些数据的时候,首先想到的是定义一个变量用来存储,之后我们可能学了数组,发现数组比变量可以存储更多的数据,接着可能有其它的存储数据的方法等等,然而我今天需要介绍的是在ES6中比较常 ...

  10. 30 分钟快速入门 Docker 教程

    原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」.一群同频者,一起成长,一起精进,打破认知的局限性. 一.欢迎来到 Docker 世界 1. ...