Python数据类型详解——列表
Python数据类型详解——列表
在“Python之基本数据类型概览”一节中,大概介绍了列表的基本用法,本节我们详细学一下列表。
如何定义列表:在[]内以英文里输入法的逗号,,按照索引,存放各种数据类型,每个位置代表一个元素。
回顾一下列表的特点:
1、可存放多个值。
2、按照从左到右的顺序定义列表元素,下标从0开始顺序访问,是有序的。
3、可修改指定索引位置对应的值,可变。
一、列表元素的增加操作
1、追加
用append方法将数据追加到列表的尾部
names = ['Kwan', 'Kobe']
names.append('KK')
names.append('LL')
print(names)

2、插入
用insert方法,可将数据插入任何位置
names = ['Kwan', 'Kobe', 'KK', 'LL']
names.insert(2, '小明')
print(names)

3、合并
用extend方法,可以把另外一个列表的值合并进来
names = ['Kwan', 'Kobe', 'KK']
n = ['小明', '小红']
names.extend(n)
print(names)

4、列表嵌套
names = ['Kwan', 'Kobe', 'KK']
names.insert(2, ['李白', 'sh'])
print(names)
print(names[2][1])

二、删除操作
1、del 直接删除
names = ['Kwan', 'Kobe', 'KK']
del names[1]
print(names)

2、pop
names = ['Kwan', 'Kobe', 'KK', 'LL']
names.pop() # 括号里不加参数,默认删除最后一个元素并返回被删除的值
names.pop(1) # 删除指定索引的元素
print(names)

3、clear 清空
names = ['Kwan', 'Kobe', 'KK']
names.clear()
print(names)

三、修改操作
直接重新赋值即可
names = ['Kwan', 'Kobe', 'KK', "LL"]
names[1] = 'James'
names[3] = '小明'
print(names)

四、查找操作
index()方法用来查找对应元素的索引,count()方法用来计算指定元素的个数
names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names.index('KK'))
print(names.count('Kwan'))

五、切片
切片就像切面包,可以同时取出元素的多个值。
语法:name[start : end]
names = ['Kwan', 'Kobe', 'KK', 'LL', '小明']
print(names[1:3]) # 不会包含索引为3的元素'LL'

注:切片的特性是顾头不顾尾,即start对应索引的元素会被包含进去,但是尾部只会包含到end-1。
1、倒着切片
names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names[-4:-1])

因为顾头不顾尾的特性,此时并未将最后一个打印出来,如果想把最后一个也包含进来该怎么做呢?
names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names[-4:]) # 要取到最后一个,直接不写左边的参数即可

同理,要取到第一个值:
names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names[:4]) # 也可写成names[0:4]
2、步长
通过设置步长,可以实现间隔取值
语法:names[start : end : step]
num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(num[0:7:2]) # 打印索引为0的元素到索引为6的元素,步长为2
print(num[::3]) # 打印全部元素,步长为3

3、列表反转
通过把步长设置成负值,可达到列表反转的效果
num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(num[::-1])
print(num[::-2])

六、排序、反转
1、排序
a = [34, 43, 65, 23, 12, 5]
a.sort()
print(a)

但是下面的排序结果该如何解释呢?
names = ['Kwan', 'Kobe', 'KK', '@', '小明']
names.sort()
print(names)

答案全在下面这张表上:

2、反转
使用reverse()方法
names = ['Kwan', 'Kobe', 'KK', '@', '小明']
names.reverse()
print(names)

七、列表循环
names = ['Kwan', 'Kobe', 'KK', '@', '小明']
for i in names: # 也可以不用i,只要符合变量名规则都可以
print(i)

Python数据类型详解——列表的更多相关文章
- python 数据类型详解
python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...
- python数据类型详解(全面)
python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...
- 转 python数据类型详解
python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...
- Python数据类型详解——元组
Python数据类型详解--元组 有时候我们的列表数据不想被别人修改时该怎么办? 此时,就可以使用元组来存放,元祖又称为只读列表,不能修改 定义方式:与列表类似,将列表的[]换成()即可. 特性: 1 ...
- Python数据类型详解——字典
Python数据类型详解--字典 引子 已经学习了列表,现在有个需求--把公司每个员工的姓名.年龄.职务.工资存到列表里,你怎么存? staff_list = [ ["Kwan", ...
- python数据类型详解及列表字典集合推导式详解
一.运算符 Python语言支持以下类型的运算符: 算术运算符 如: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 print(a ...
- python数据类型详解
目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字符串,例如:str='th ...
- python 数据类型详解(转)
转自:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1. ...
- 1.python数据类型详解
python数据类型分类 1).数值型:整数型(int).浮点型(float).布尔型(bool 取值:True.False) 2).容器类型 : 字符串型(str).列表(list).元祖(tupl ...
随机推荐
- python基础——变量
变量是只不过保留的内存位置用来存储值.这意味着,当创建一个变量,那么它在内存中保留一些空间. 根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中.因此,通过分配不同的数据类型 ...
- 初始SpringMVC 完整版
初始SpringMVC 1.SpringMVC 也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的. 2.Java EE ...
- Linux学习笔记03
一.Linux常见命令 file:查看文件类型(windows用扩展名识别文件类型) 语法:file [options] [args] -b:显示结果时,不显示文件名 -c:显示执行file命令的执行 ...
- CTF杂项题解题思路
下载压缩包解压 如果是图片就先查看图片信息 没有有用信息查看图片看是否是一个图片 如果不是图片就将文件进行还原 从还原文件中查找有用信息 例:这是一张单纯的图片 http://123.206.87.2 ...
- oracle实战(一)
一.表空间的创建以及删除 声明:此操作环境为windows,oracle10G 表空间? ORACLE数据库的逻辑单元. 数据库---表空间 一个表空间可以与多个数据文件(物理结构)关联 一个数据库下 ...
- linux文本编辑vim命令
1.Vim Vim 是一个功能强大的全屏幕文本编辑器,是 Linux/UNIX 上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件. Vim 没有菜单,只有命令 2.Vim 工作模式 3.插入 ...
- 7z 命令行方式生成自解压exe
一.下载 7z是一个免费的工具,除了通过命令行的方式提供各种文件.压缩包相关的操作外,还提供了一种方式可以打出自解压的exe程序.该程序从运行到结束经历了三个流程: (1) 解压文件到用户临时目录: ...
- 3、数组的声明及初始化(test1.java)
今天学习了,一位数组和二维数组,先学习了数组的申请,数组的初始化,数组的拷贝等.对于数组我认为,和C\C++中的数组,没有什么太大的区别,但是在JAVA中,大家都知道JAVA是面向对象的编程语言,每一 ...
- Java枚举类型 enum
定义 An enum type is a special data type that enables for a variable to be a set of predefined constan ...
- 单机版ZooKeeper的安装教程
之前一直没有时间去整理,现在抽出几分钟时间整理以下,有问题的在评论区留言即可. 前期准备JDK环境(ZK需要jdk进行编译,本文以jdk1.8.0_211为例).Linux系统(本文以Centos7为 ...