python基础之列表篇

LIST:

简介:列表是python中最基本的数据结构之一,每个元素都会被分配一个数字也就是索引,亦称为下标。他的第一个元素对应的索引为0,第二个对应的索引为1,以此类推。

一, 列表的声明与赋值

#列表的声明
list1 = [‘pisa‘,‘heitang‘,‘lurou‘,‘mianhuatang‘]
list2 = [‘cat‘,‘dog‘,‘pig‘]
list3 = [‘softdrink‘,‘wine‘,‘bear‘]

二,列表的查询

‘‘‘
如何读取列表中的元素?
‘‘‘
list1 = [‘pisa‘,‘heitang‘,‘mianhuatang‘]
cat1 = list1[0] #pisa
cat2 = list1[1] #heitang
cat3 = list[2] # mianhuatang
cat4 = list[-1] # mianhuatang
cat5 = list[-2] #heitang
cat6 = list[-3] # pisa

三,列表的切片

‘‘‘
列表的切片
‘‘‘
list = [‘pisa‘,‘heitang‘,‘mianhuatang‘,‘lurou‘,‘panghua‘]
#获取前三只猫
getThreeCat = list[:3] getThreeCat = list[0:3]
#获取第二只猫和第四只猫 heitang,lurou
getSecondAndFourthCat = list[1:4:2] #[‘heitang‘,‘lurou‘]
getSecondAndFourthCat = list[-4:-1:2]
#获取最后一只猫 panghua
getLastCat = list[-1]
#让整个吃货家族反转
getReverseCat = list[::-1]#[‘panghua‘, ‘lurou‘, ‘mianhuatang‘, ‘heitang‘, ‘pisa‘]

 四,列表添加元素

‘‘‘
列表添加元素的三种方法 insert(插入) extend(迭代添加) append(追加)
‘‘‘
#列表的添加之 append
list1 = [‘pisa‘,‘lurou‘]
list1.append(‘mianhuatang‘) #[‘pisa‘,‘lurou‘,‘mianhuatang‘]

#列表的迭代添加
list1 = [‘pisa‘,‘mianhuatang‘,‘lurou‘]
list2 = [‘heitang‘,‘panghua‘]
list1.extend(list2) # [‘pisa‘, ‘mianhuatang‘, ‘lurou‘, ‘heitang‘, ‘panghua‘]
list2.extend(list1) # [‘heitang‘, ‘panghua‘, ‘pisa‘, ‘mianhuatang‘, ‘lurou‘]

#指定位置添加insert(索引,元素)
list1 = [‘heitang‘,‘pisa‘,‘lurou‘]
list1.insert(1,‘panghua‘) # [‘heitang‘, ‘panghua‘, ‘pisa‘, ‘lurou‘]

五,列表删除元素

‘‘‘
列表删除元素 pop,del,remove,clear以及切片的舍弃
‘‘‘
#pop() 默认删除最后一个元素,并返回,如果指定索引,则删除对应的值,后面元素的索引自动减一

list = [‘pisa‘,‘mianhuatang‘,‘heitang‘,‘lurou‘,‘panghua‘]
cat1 = list.pop() #panghua
print(list) #[‘pisa‘,‘panghua‘,‘heitang‘,‘lurou‘]

list2 = [‘pisa‘,‘mianhuatang‘,‘heitang‘,‘lurou‘,‘panghua‘]
cat2  = list2.pop(2) # heitang
print(list2) #[‘pisa‘,‘mianhuatang‘,‘lurou‘,‘panghua‘]

#del 是删除整个列表,也就是从内存中抹去这个列表的指针
list3 = [‘pisa‘,‘mianhuatang‘,‘heitang‘,‘lurou‘,‘panghua‘]
print(list3) #[‘pisa‘,‘mianhuatang,‘heitang‘,‘lurou‘,‘panghua‘]
del list3
print(list3) # NameError: name ‘list3‘ is not defined

#remove() 是 删除元素,一次也只能删除一个元素,返回值 None
list4 = [‘pisa‘,‘mianhuatang‘,‘heitang‘,‘lurou‘,‘panghua‘]
list4.remove(‘pisa‘)  #[‘mianhuatang‘, ‘heitang‘, ‘lurou‘, ‘panghua‘]

#clear 清空整个列表
list5 = [‘pisa‘,‘mianhuatang‘,‘heitang‘,‘lurou‘,‘panghua‘]
list5.clear() # []

#切片删除相应的元素
list6 =  [‘pisa‘,‘mianhuatang‘,‘heitang‘,‘lurou‘,‘panghua‘]
list7 = list6[0:2] #  得到[‘pisa‘,‘mianhuatang‘] 删除了heitang,lurou和panghua

六,列表的更新

#重新赋值法
list1 = [‘a‘,‘b‘,‘c‘,‘d‘]
list1[1] = 3;#[‘a‘,3,‘c‘,‘d‘]
#可迭代对象
list2 = [‘a‘,‘b‘,‘c‘,‘d‘]
list2[:2] = ‘89‘ #[8,9,‘c‘,‘d‘]
list3 = [‘a‘,‘b‘,‘c‘,‘d‘]
list3[:3] = ‘56‘ #[‘5‘,‘6‘,‘d‘] ?为什么是[‘5‘,‘6‘,‘d‘]而不是[‘5‘,‘6‘,‘5‘,‘d‘]或者[‘5‘,‘6‘,‘c‘,‘d‘]? 首先迭代对象只能循环一次,也是‘5‘和‘6‘,而切片只是要覆盖‘a‘,‘b‘,‘c‘,而我们迭代对象只有两位,这样就少了一位,就舍弃掉,变成了[‘5‘,‘6‘,‘d‘]

七,列表的内置函数

#列表的长度
list1 = [‘pisa‘,‘mianhuatang‘,‘panghua‘,‘lurou‘,‘heitang‘]
cat_len = len(list1) # 5

#列表的copy 复制一个副本给其他变量
list2 = [‘pisa‘,‘mianhuatang‘,‘panghua‘,‘lurou‘,‘heitang‘]
list3 = list2.copy()
print(list3) # [‘pisa‘,‘mianhuatang‘,‘panghua‘,‘lurou‘,‘heitang‘] 需要特别的注意python2.x 没有copy方法

#列表的count 统计出现的次数 返回一个Integer
list4 = [‘a‘,‘b‘,‘c‘,‘c‘,‘d‘]
list4.count(‘c‘) # 2

#列表的index 查询L.index(value, [start, [stop]]) 如果没有则报错(ValueError)
list5 = [‘pisa‘,‘mianhuatang‘,‘panghua‘,‘lurou‘,‘heitang‘]
list5.index(‘panghua‘) # 2
list5.index(‘heierduo‘) # ValueError

#sort    L.sort(key=None, reverse=False) 没有返回值
list6 = [1,3,5,3,7,0]
list6.sort() # [0, 1, 3, 3, 5, 7]
list6.sort(reverse=True) # [7, 5, 3, 3, 1, 0]

#reverse 反转 L.reverse() -- reverse *IN PLACE*
list7 =  [‘a‘,‘b‘,‘c‘,‘d‘]
list7.reverse() # [‘d‘, ‘c‘, ‘b‘, ‘a‘]

# append,clear,extend,insert,pop,remove,上面已经提及过

原文地址:https://www.cnblogs.com/wuxiaoshi/p/9734323.html

时间: 2024-10-09 10:05:21

python基础之列表篇的相关文章

python基础之列表

Python基础之列表 一.列表的切片与增删改查 li = ['李白','韩信','兰陵王','娜可露露','赵云','露娜','王昭君'] #切片与字符串一样,索引值都是从0开始,所用得方法都一样[:][:-1][0:-1][2:4][:4][4:][1:-2:2][1:-3:-2] #列表增append(),insert li.append('关羽') #后面加入['李白', '韩信', '兰陵王', '娜可露露', '赵云', '露娜', '王昭君', '关羽'] print(li) li

python基础三(列表和元组)

数据结构:数据结构是以某种方式(如通过编号)组合起来的数据元素集合.在python中,最基本的数据结构为序列,序列中每个元素都有编号从0开始. 1.序列概述:?python内置了许多种序列,列表.元组.字符串等.?列表和元组的不同在于,列表是可以修改的,而元组不可以,这意味着列表用于需要中途添加元素的情形,而元组适用于禁止修改元素的情形. 1.1.创建列表 假设你现在需要一个东西来储存多个名字,那么用列表正合适 list_name = ["王晓明","李二"] #所

python基础-第六篇-6.2模块

python之强大,就是因为它其提供的模块全面,模块的知识点不仅多,而且零散---一个字!错综复杂 没办法,二八原则抓重点咯!只要抓住那些以后常用开发的方法就可以了,哪些是常用的?往下看--找答案~ 模块定义 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成 (函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块.

python基础1--小结篇

如果有别的编程语言基础,python属于极好上手的一门语言.应用上,用“自取所需”来描述,最为贴切. 首先,放上一些推荐. 安装上: 1.python3.5.1(推荐官网直接下载,自带IDLE),安装不麻烦,记得增加环境变量即可 2.编辑器:sublime 其实,并没有使用很多,但是推荐的人超多 ,破解版网上很多,按资源下载即可 3.IDE: 强推 pycharm 对JetBrains软件执着的热爱  方便又美观 网上能找到找到注册码,学生用edu邮箱可以免费使用,当然,支持正版! 熟悉上: 语

Python基础学习 总结篇

Python基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结构(概要) Python学习(四)数据结构 —— int float Python学习(四)数据结构 —— str Python学习(四)数据结构 —— bool Python学习(四)数据结构 —— list tuple range Python学习(四)数据结构 —— set frozenset

2.python基础之—列表,元组,字典,集合,字符串的使用方法

一.关于python序列的简介. python里面的序列大部分都可以执行,索引,切片,加,乘,检查长度,以及检查某个成员是否存在,甚至还可以找出这个序列中最小的元素和最大的元素,并且序列都是可迭代的. 解释下个人理解的迭代,迭代(iteration),序列中的迭代就是对序列中的每个元素重复执行某些操作/ 具体的迭代方式后面会说到. 下面就说说python序列的共有特点. 1.索引 一个序列中,所有的元素都有自己的编号,这个编号是从0开始的,这个编号就是所谓的索引,这些元素可以通过索引来依次访问.

python基础-第七篇-7.2面向对象(进阶篇)

进入到今天的探索前,我先对上节内容进行一下回顾: 面向对象是一种编程方式,此编程方式的实现是基于对类和对象的使用 类是一个模板,模板中包装了多个函数可供使用 对象是基于类创建的,实例用于调用被包装在类中的函数 对于c#和java--只能用面向对象编程,而对于ruby和python则可以用函数编程和面向对象编程 面向对象不是所有的情况都适用,当两个东西不存在公共的部分,最好用函数编程 对象编程里的self是形式参数,是python内部把对象当参数传递进去的 __init__  构造方法--当实例化

Python基础第三篇

一.collections系列 Counter是对字典类型的补充,用于追踪值的出现次数,具备字典的所有功能 + 自己的功能 1.计数器Counter import collections a='abababsbsbhh' c=collections.Counter(a) #直接列出每个元素出现了几次,传入列表和元组也一样 print(c) #输出:Counter({'b': 5, 'a': 3, 'h': 2, 's': 2}) #most_common 列出Counter内的前几个 print

python基础-第五篇-5.4正则表达式

正则基础知识 正则表达式是通过调用re模块实现的 在python里,正则表达式处理对象为字符串,所以正则里方法和字符串的方法有很多相似的地方:re.findall和find,re.split和split,re.sub和replace 普通字符和元字符 普通字符 大多数的字符和字母都为普通字符 元字符 在正则里,有其特殊的功能的字符称为元字符,如:. ^ $ * + ? {} | () \ .    除了换行符任意一个字符进行匹配 import re strs = 'ji154\n651jia*-