三、Python-列表
一、序列:是一块用于存放多个值的连续内存空间,并且按一定顺序排列,可以通过索引取值
  • 索引:从左到右的索引从0开始依次增加的正整数;从右到左的索引为-1开始的复数
  • 切片(分片):一中获取序列中的元素的方法;
sname[start:end:step]--sname:序列名;start:起始值;end:结束值(不包括);step:步长
  • 序列相加:两个序列可以相加(只能同类型序列:列表+列表,元组+元组,字符串+字符串),被加的序列排在原来的序列后面
  • 乘法:序列的乘法实际上就是把一个序列中的元素复制几次
  • 检查某个元素是否是序列的成员:print("姚明" (not) in nba)---判断姚明(不)在nba列表中
len也能计算字符串的长度
  • 计算序列的长度:print("列表的长度为:"len(nba))---计算nba序列的长度
  • 最大值:print(max(number))---返回序列中的最大值(只能用在序列中为数字型时)
  • 最小值:prin(min(number))---返回序列中的最小值(只能用在序列中为数字型时)
list():把序列转换为列表(数字和字符串都能转换)       str():序列转换为字符串
sum():计算序列中元素和                 sorted():给序列中元素排序
reversed():反转序列中元素                  enumerate():把序列组合为一个索引序列
二、列表:列表中可以放:整数,实数,布尔值,字符串,序列,对象
  • 列表的创建和删除:一般不把不通类型的数据放在同一个列表中(提高可读性)

    • 赋值运算符直接创建:listname = [元素1,元素2,…]---用英文状态的“,”隔开,元素数量无限制
    • 创建空列表:a = []---创建一个名为a的空列表
    • 创建数字列表:list(range(2,21,2))---2—21之间的偶数(数据全部都为数字)
    • del listname------删除列表(很少用)
  • 访问列表元素:获取列表中的内容
    • print() 索引 切片
  • 遍历列表:把列表中的元素全部预览一遍
    • for循环实现:只能输出元素与的值

      • for iten in listname: ---item用于保存获取到的元素,listname为列表名
    • for循环和enumerate:即显示索引又显示元素
      • for index,item in enumerate(listname): ---index用于保存索引,item用户保存获元素的值
  • 添加元素:+运算符添加(效率低)
    • append:在元素列表末尾添加元素

      • listname.append(obj) ---listname为被添加的列表名;obj为要添加的对象
    • inert:用于在列表中间插入一个对象
      • listname.inert(num,obj) ---num为要插入的位置的索引号;obj为要插入的对象
    • extend:用于把一个列表添加到另一个列表的末尾
      • listname.extend(seq) ---listname为原列表名,seq为被添加的列表
  • 修改元素:只需要通过索引获取该元素,然后再为其重新赋值
    • verser[2]="…" ---verser为列表名,2为要修改的元素的索引号
  • 删除列表元素:
    • 根据索引号删除:必须知道要删除的元素的索引号(索引号可为正数或负数)

      • del verser[-1] ---删除verser列表中索引为-1的元素
    • 根据元素值来删除:不确定其位置的元素(根据元素值来删除,最好先判断该元素是否在列表)
      • if verser.count(value)>0 ---判断value元素是否在列表verser中

        • verser.remove(value) ---删除verser列表中的value值
  • 对列表进行统计计算:
    • count:获取指定元素在列表中出现的次数(精确匹配,不能只是元素的一部分)

      • listname.count(obj) ---统计元素obj在列表listname中出现的次数
    • index:获取指定元素在列表中首次出现的位置(索引)(被统计的元素只能精确匹配)
      • listname.index(obj) ---统计obj在列表中首次出现的位置
    • sum:统计数字列表的元素和
      • sum(iterable,start) ---iterable为要计算的列表名,start为系统统计结果要加的值(默认为0)
  • 对列表进行排序:
    • sort:对元素排序,排序后原列表中的元素顺序将发生改变

      • listname.sort(key=None,reverse=False) ---key表示指定一个从每个元素中提取的一个比较键(key=str.lower表示在排序时不区分大小写);reverse为True表示降序,False为升序,默认为升
    • sorted:排序后,源列表的元素顺序不变
      • sorted(itemble,key=None,reverse=False) ---itemble表示要排序的列表名称
三、列表推导式:可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表
生成指定范围的数字列表:list = [Expression for var range]    
list = [i*i for i in range(2,11,2)] ---生成0-10的偶数的平方
list:生成列表的名称;         expression:表达式,计算型列表的元素
var:循环变量             range:采用range()函数生成range对象
根据列表生成指定需求的列表:newlist = [expression for var in list]
price = [1200,5300,2988,6200,1998,8888]
sale = [int(x*0.5) for x in price]
print('原价格:',price)

print('五折价格:',sale)

newlist:表示新生成的列表名; list:用于生成新列表的源列表名

从列表中选择符合条件的元素组成型列表:newlist = [expression for var in list if condition]
price = [1200,5330,2988,6200,1998,8888]

sele = [z for z in price if z >5000]
print('原列表:',price)
print("高于5000的:",sale)

condition:条件表达式,用于指定筛选的条件

四、二维列表的使用:二维列表就是包含列表的列表,一个列表的每个元素都是一个列表
直接定义二维列表:listname=[元素1,元素2…],[元素11,元素12…],[元素21,元素22…],…]
使用嵌套的for循环创建:      
room = []
for i in range(1,5): #楼层
room.append([]) #添加一个空列表
for j in range(1,8): #每一层的房间数
room[i-1].append(i*1000+100+j)

print(room)

使用列表推导式创建:(能使用推导式尽量使用推导式)
eg:room=[[i*1000+100+j for j in range(1,8)] for i in range(1,5)]
print(room)
eg:   

str1 = "千山鸟飞绝"
str2 = "万径人踪灭"
str3 = "孤舟蓑笠翁"
str4 = "独钓寒江雪"
list1 = [list(str1),list(str2),list(str3),list(str4)]
print("--横版输出--")
print()
for i in range(4): #循环的行数
for j in range(5): #循环每一行的字
if j == 4: #一行中的最后的一个字
print(list1[i][j]) #换行输出
else:
print(list1[i][j],end="") #不换行输出
print()
print()
print("--竖版--")
print()
list1.reverse() #排序(逆序)
for i in range(5): #循环每一行中的每一个
for j in range(4): #每一行
if j == 3:
print(list1[j][i]) #换行输出
else:
print(list1[j][i],end='')

posted on 2019-04-18 10:38 dameon 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/dameon/p/10728173.html

三、Python-列表相关推荐

  1. Python 列表推导式 - Python零基础入门教程

    目录 一.Python 列表推导式简介 二.Python 列表推导式语法 三.Python 列表推导式练习 1.Python 列表推导式案例一 2.Python 列表推导式案例二 3.Python 列 ...

  2. Python 列表List - Python零基础入门教程

    目录 一.Python 列表 List 简介 二.Python 列表 List 增加数据 三.Python 列表 List 删除数据 四.Python 列表 List 修改数据 五.Python 列表 ...

  3. Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel)

    Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel) 目录 Python中将三个列表数据zip起来并遍历(Iteratin ...

  4. Python程序开发——第三章 列表与元组

    目录 前言 一.列表 (一)列表的创建 (二)访问列表元素 (三)列表的增删改 (四)列表的遍历 (五)列表的排序 (六)列表的嵌套 二.元组 (一)元组的创建 (二)访问元组元素 (三)元组的连接组 ...

  5. python列表添加元素的三种方法定义集合数据对象_(1) List,tuple,dictionary,Python语法基础集,一,之,列表,元组,字典,集合...

    Python序列(列表.元组.字典.集合) 一.列表(List)与列表推导式 (一)列表(list) 1.列表是Python内置 可变序列 (列表中元素可增加删除或修改): 2.列表元素放在一对中括号 ...

  6. python列表元素都加倍_关于python列表增加元素的三种操作方法

    关于python列表增加元素的三种操作方法 1.insert方法,该方法包含两个参数,第一个参数为插入的位置参数,第二个参数为插入内容 a = [0,0,0] b = [1,2,3] a.insert ...

  7. 微课系列(三):Python列表中存储的是元素的引用

    技术要点:在Python中,变量不直接存储值,而是存储值的引用.同样,在列表.元组.字典.集合等容器类对象中也是存储的元素值的引用. 以列表为例,当列表与整数相乘进行元素重复时,是对引用进行重复.这样 ...

  8. Python基础篇(三)-- 列表、元组、字典、集合、字符串

    前面一篇简单介绍了Python的数据类型与运算符,这一节主要学习Python中5种常用序列结构:列表.元组.集合.字典和字符串的详细使用和一些技巧,下图概括了本篇的主要内容. 1 序列 在数学上,序列 ...

  9. python 元组使用场景_列表和元组(三):列表和元组的性能以及使用场景

    一.列表和元组的性能: 本文的知识点的总结是我在极客时间付费课程<Python核心技术与实战>上的笔记,这门课不错,推荐订阅,一起进步. 通过这两篇的讲解(<列表和元组一>.& ...

  10. python列表追加的三种方式对比

    python列表追加的三种方式分别为:+, extend(), append() +是直接将两个列表拼凑在一起,并生成新的列表 extend()是将另一个列表的值插入已有列表中,并不会生成新的列表 a ...

最新文章

  1. 洛谷P3368 【模板】树状数组 2(Python和C++代码)
  2. python语言if语句-Python if else语句详解
  3. 开始学习RED HAT LINUX了
  4. 《浪潮之巅》读书笔记(中)
  5. Dockerd docker-containerd docker-containerd-shim runC
  6. python同时注释多行代码_python怎么同时对多行代码进行注释
  7. 比特币:生于 2009,亡于 2016?
  8. matlab2009a安装包,matlab2009a安装
  9. 客户服务与工单管理系统—工单管理
  10. c语言程序设计贪吃蛇报告,C语言“贪吃蛇”程序设计报告.doc
  11. 免费实用的录屏工具!支持全屏、特定窗口、选定区域录制,支持添加水印、嵌入摄像头!
  12. usaco3.4.3 Raucous Rockers
  13. matlab中输入数学符号,matlab 数学符号输入
  14. plsql删除历史记录(重新打开文件)
  15. 超全MyBatis动态代理详解!(绝对干货)
  16. 项目成功和失败的几大因素
  17. 计算机网络概述 网络的体系与标准化组织
  18. Win10电脑创建本地网站
  19. 冰岩作坊Task1-----go语言+gin框架+前后端“交流”
  20. 关于Revit 插件Add-in Manager安装问题

热门文章

  1. matlab四维图程序,Matlab 四维图形绘制
  2. 怎么让qt发声_第3部分:添加网络字体-让我们的单词发声
  3. orton效果_如何使图片发光:Orton效果
  4. Vue 是如何用 Rollup 打包的?
  5. 蛋花花APP,APP开发这几点你要注意了
  6. webRTC——浏览器里的音视频通话 1
  7. stevedore——启用方式
  8. ​css3属性选择器总结
  9. Linux系统PATH变量配置
  10. windows socket 简单实例