Python 数据类型之一:列表(list)
本次内容主要是总结一下 Python 数据类型中的 list (列表),关于 list 我在 Python 学习第二章已经简单介绍过了,这次呢,我这边主要总结自己学到的跟大家分享一下,有什么不对或者更好的学习方法,欢迎各位程序猿们关注留言,多多指教 ^_^
1. 首先我们创建一个列表,如下:
list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
print(list_name)
打印结果为:
['zhao', 'qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang']
在 Python 以后的编程中,我们经常用到 list 。list 的都包含了那些操作呢?分别为:查、增、删、改、其他。下面我就以例子来说明。
查
- 通过索引(下标),都是从0开始
- 切片
- .count 主要查某个元素出现的次数
- '被查内容' in a 其中 a 是列表变量名
#通过索引打印'zheng'
list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
print(list_name[6])
执行结果:
zheng
#如果想取第三位到第五位的人名呢?
list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
print(list_name[2:5]) #打印结果为:['sun', 'li', 'zhou']
#列表在取值是左包括,右不包括,就像list_name[2:5],其中list_name[5]为:wu,而打印结果就没打印出来。
#列表中元素很多,又不知道在那个位置,想从第二个人开始取出来最后一位呢? list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
print(list_name[1:]) #打印结果为:['qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang'] #想取到倒数第二位呢? list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
print(list_name[1:-1]) #-1代指最后一位元素,最后一位取不出来
#打印结果为:['qian', 'sun', 'li', 'zhou', 'wu', 'zheng'] #跳着取,不再一个一个取
list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
print(list_name[1:6:2]) # 从左往右隔一个取一个,其中2代表步长
#打印结果为:['qian', 'li', 'wu'] #上述这些都是从左往右取,那么反着取呢?
list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
print(list_name[7::-1]) #先确定取第一个的人的位置,再通过 - 来改变方向
#打印结果为:['wang', 'zheng', 'wu', 'zhou', 'li', 'sun', 'qian', 'zhao']
count()函数
# count 查某个元素出现的次数 list_num = [1,6,2,4,9,6,2,1,5,4,9,6,1]
b=list_num.count(1) # count(被查询元素)
print(b)
#打印结果为:3
index() 根据内容找索引(位置)
# index(元素名) 方法用于从列表中找出某个值第一个匹配项的索引位置 list_num = [1,6,2,4,9,6,2,1,5,4,9,6,1]
print(list_num.index(9))
#输出结果为:4
#问题来了,列表中有2个9,为什么不能找到第二个呢? 这就是要说的#index() 只能找到列表中某个值的第一个匹配位置,怎么找第二个9的位置呢? #利用切片 list_num = [1,6,2,4,9,6,2,1,5,4,9,6,1]
a=list_num.index(9) # 第一个9在大列表的位置
b=list_num[a+1:]
c=b.index(9) #第二个9在小列表的位置
d=a+c+1 #第二个9 在大列表的位置
print('第二个9的位置:',d)
#打印结果为:10
增
- append 默认插到最后一个位置
- insert 将数据查到任何一个位置
#将 yang 插入到列表中
list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
list_name.append('yang') #append() 函数默认将'yang'插入到列表最后
print(list_name)
#输出结果为:['zhao', 'qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang', 'yang']
insert() 函数应用
#将'yang' 插入到 'zhou' 的前面
#insert('被插入对象前的位置','插入的元素内容')
list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
list_name.insert(4,'yang') #先找到'zhou'的位置,然后输入插入对象
print(list_name)
#打印结果为:['zhao', 'qian', 'sun', 'li', 'yang', 'zhou', 'wu', 'zheng', 'wang']
改
#单个修改
#list_name[索引] = '替换内容'
#多个修改
#liest_name[索引:索引] = ['替换内容1','替换内容2']
#将列表中的'wu'替换为'zhu' list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
list_name[5]='zhu'
print(list_name)
#打印结果为:['zhao', 'qian', 'sun', 'li', 'zhou', 'zhu', 'zheng', 'wang'] #将列表'li'后面的人员用'song','hou'替换掉 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
list_name[4:]=['song','hou']
print(list_name)
#打印结果为:['zhao', 'qian', 'sun', 'li', 'song', 'hou']
删
- remove
- pop
- del
remove() 函数,删除固定的内容,不能切片
#删除'wu'后面的所有元素 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
list_name.remove(list_name[6])
list_name.remove(list_name[6])
print(list_name)
#打印结果为:['zhao', 'qian', 'sun', 'li', 'zhou', 'wu'] #这里为什么不能这样呢?
list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
list_name.remove(list_name[6:]) #不能切片
print(list_name) #报错内容:ValueError: list.remove(x): x not in list
#意思就是说,list_name[6:]代表里面是个小列表['zheng','wang'],而list_name[]列表中没有这个整体的小列表,找不到这个元素。
#如果将列表改为:
list_name=['zhao','qian','sun','li','zhou','wu',['zheng','wang']]
list_name.remove(list_name[6])
print(list_name)
#打印结果为:['zhao', 'qian', 'sun', 'li', 'zhou', 'wu']
pop() 函数,根据索引删除,删除内容被返回(也就说,根据索引去删除列表元素,被删除的列表元素可以赋到一个变量上,为后续调用使用)
#删除 'wu' ,顺便将wu打印出来 list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
b=list_name.pop(5) #括号里面直接输入删除元素的索引
print(list_name)
print(b)
#打印结果为:['zhao', 'qian', 'sun', 'li', 'zhou', 'zheng', 'wang']
#wu
del() 函数,可以删除对象
#
list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
del list_name[2]
print(list_name)
#打印结果为:['zhao', 'qian', 'li', 'zhou', 'wu', 'zheng', 'wang'] # del 删除对象
list_name=['zhao','qian','sun','li','zhou','wu','zheng','wang']
del list_name
print(list_name)
#打印结果为:NameError: name 'a' is not defined
其他
reverse() ,将列表中的元素反向存放
#reverse() 将列表反向存放
list_num = [1,6,4,9,2,5]
list_num.reverse()
print(list_num)
#打印结果为:[5, 2, 9, 4, 6, 1]
sort() ,在原来的列表中对元素进行排序
# sort() ,在原来的列表中进行排序
list_num = [1,6,4,9,2,5]
list_num.sort()
print(list_num)
#打印结果为:[1, 2, 4, 5, 6, 9]
列表在这里介绍完了,后面碰到新的问题或者内容再做更新,希望对您有所帮助;如果觉得不错,请点击关注、分享,后续继续分享自己学习 Python的知识。
点击关注,阅读更多内容 ↓↓↓
Python 数据类型之一:列表(list)的更多相关文章
- python数据类型:列表List和Set
python数据类型:列表List, Set集合 序列是Python中最基本的数据结构 序列中每个元素都分配一个数字,表示索引 列表的数据项不需要具有相同的类型 列表中的值可以重复并且有 ...
- Python数据类型list(列表)和tuple(元组)
list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...
- Python数据类型(列表)
文章内容参考了教程:http://www.runoob.com/python/python-basic-syntax.html#commentform Python 列表(List) 序列是Pytho ...
- Python之路-python数据类型(列表、字典、字符串、元祖)操作
一.列表: 列表的语法,以中括号开通和结尾,元素以逗号隔开.例如:name = [] 列表是以下标取值,第一个元素下标是0,第二个元素下标是1,最后一个元素下标是-1. 1.增加 #name = ...
- Python数据类型之列表
一.基本数据类型 整数:int 字符串:str(注:\t等于一个tab键) 布尔值: bool 列表:list (元素的集合) 列表用[] 元祖:tuple 元祖用() 字典:dict注:所有的数据类 ...
- python 数据类型二 (列表和元组)
一.列表 1.1 列表的介绍 列表是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类 ...
- python数据类型之列表(list)和其常用方法
列表是python常用数据类型之一,是可变的,可由n = []创建,也可由n = list()创建,第一种方法更常用. 常用方法总结: # 创建方法 n = [] 或者 n = list() # in ...
- Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之列表类型(list)
Python中序列是最基本的数据结构.序列中的每个元素都分配一个数字(他的位置或者索引),第一个索引是0,第二个索引是1,依次类推.Python的列表数据类型类似于C语言中的数组,但是不同之处在于列表 ...
- Python学习(五) Python数据类型:列表(重要)
列表: list是一组有序项目的数据结构. 列表是可变类型的数据,列表用[]进行表示,包含了多个以","分隔的项目. list=[] type(list) //<type ' ...
- Python基础-python数据类型之列表(四)
列表 格式 namesList = [ 字符串,数字,列表,元祖,集合] 列表中的元素可以是不 同类型的 列表的相关操作 列表中存放的数据是可以进行修改的,比如"增"." ...
随机推荐
- start()方法和run()方法有什么区别?
通过调用线程类的start()方法来启动一个线程,使线程处于就绪状态,即可以被JVM来调度执行,在调度过程中,JVM通过调用线程类的run()方法来完成实际的业务逻辑,当run()方法结束后,此线程就 ...
- python中装饰器使用
装饰器是对已有的模块进行装饰(添加新功能)的函数. 现有一段代码: import time def func1(): time.sleep(3) print("in the func1&qu ...
- XAML中用一字符即可展示漂亮的图型
XAML中用一字符即可展示漂亮的图型 例如:Symbol Icon: People http://www.geekchamp.com/icon-explorer/action-icons/icon?c ...
- XML 解析的两种方法
申请博客有一段时间了,一直没有写些什么,今天写一下被遗忘的 xml,因为 ios 现在一般都用 JSON,但毕竟还有一部分老一些的服务器还会有 xml xml 格式的解析方式有两种 1.SAX解析: ...
- Django高级篇一RESTful架构及API设计
一.什么是RESTful架构? 通过互联网通信,建立在分布式体系上"客户端/服务器模式”的互联网软件,具有高并发和高延时的特点. 简单的来说,就是用开发软件的模式开发网站.网站开发,完全可以 ...
- linux_制作本地yum源
新建文件夹 mkdir /root/guazai 并将本地磁盘挂载到当前文件夹 mount -o loop /dev/cdrom /root/guazai/ 新建文件夹 mkdir /mnt/loca ...
- 2019.01.09 bzoj2599: [IOI2011]Race(点分治)
传送门 题意:给一棵树,每条边有权.求一条路径,权值和等于K,且边的数量最小. 思路: 考虑点分治如何合并. 我们利用树形dpdpdp求树的直径的方法,边dfsdfsdfs子树边统计答案即可. 代码: ...
- Clion 教程书写Hello World,C语言开发;Clion 的C语言开发
一.编译器安装 二.项目搭建 1.新建项目 2.项目类型选择(双红圈是项目名称,可以修改) 3.点击create,自动生成项目. 4.运行项目
- java学习1ATM
package atm_1; import java.awt.SystemTray;import java.nio.charset.CharsetEncoder;import java.util.Sc ...
- Sql Server用户名和登录名的关系总结
以前经常被SQL Server中的用户名和登录名搞迷糊,因为用sa(登录名)就搞定一切东西了,当然这会存在一些安全隐患.网上的文章也貌似讲得很好,但还是不明白.今天决心把这个问题弄明白.mashall ...