Python数据结构之列表
1、Python列表是Python内置的数据结构对象之一,相当于数组
2、列表用[] 包含,内有任意的数据对象,每一个数据对象以 ,逗号分隔,每隔数据对象称之为元素
3、Python列表是一个有序的序列
4、Python列表支持任意的嵌套,嵌套的层次深度没有限制
总结:列表是一个Python的数据结构,用[] 来表示,可以存储任何对象的一个有序序列
作用:存放各种类型的数据,并有序排列
定义:
a = list()
a
[]
b = []
b
[]
c = list('c')
c
['c'] 列表的切片和索引
切片
标识:冒号,有冒号是切片的象征
方法:通过坐标去辨识 a = [,'a','',{:}]
a[:]
[, 'a', '', {: }]
a[:]
[, 'a', '', {: }]
a[:]
[, 'a', '', {: }]
a[:]
[, 'a', '', {: }]
a[:-]
[, 'a', ''] 索引:标识着列表中从0开始的第几项
a
[, 'a', '', {: }]
a[]
列表方法
、增
append:往列表中添加元素,该元素可以是任何形式的数据结构或者对象,添加的对象作为列表中的一个元素,放到最后一位 a = ['']
a.append('')
a
['', '']
a.append([''])
a
['', '', ['']]
a.append({:})
a
['', '', [''], {: }] extend:用于在列表末尾一次性追加另一个序列中的多个值,不是把对象完整的添加,而是把其中每一项拿出来 注意:有的说extend只能是列表,这种说法不对,可以是序列式的数据结构
a = []
b = ['']
a.extend(b)
a
['']
a.extend(a)
a
['', '']
a.extend('m')
a
['', '', 'm']
a.extend((,))
a
['', '', 'm', , ]
a.extend([,'c'])
a
['', '', 'm', , , , 'c'] extend和append区别
a = ['']
b,c = [],[]
b.append(a)
b
[['']]
c.extend(a)
c
[''] append:把整体添加进来
extend:把每一项添加进来 insert:两个参数,一个是insert的位置,第二个是insert的元素
a = ['s',,]
a.insert(,'x')
a
['s', , 'x', ]
a.insert(,'y')
a
['s', , 'y', 'x', ] 删
remove:该方法没有返回值但是会移除两种中的第一个匹配项
a = [,,]
a.remove()
a
[, ] pop:从列表移除并返回移除的元素,默认移除最后一个,如果指定第几个,便移除第几个
a = ['d','s','j']
a.pop()
's'
a
['d', 'j']
a.pop()
'j'
a
['d'] 知识扩展
堆栈:先进后出,通过pop()实现
队列:先进先出,通过pop()实现 改
a = [,,]
a[]=
a
[, , ] 查
、索引
、通过index去进行查询
、count计算列表中元素的数量
a
[, , ]
a.index() a.append()
a
[, , , ]
a.count() a.index() a.index()
列表的排序
sort:列表本身排序
a = [,,,]
a.sort()
a
[, , , ] a.sort(reverse=True)
a
[, , , ]
sorted(a)
[, , , ]
a
[, , , ] sort与sorted区别
、sort是列表方法,sorted是内置函数对一个序列数据的方法
、sort改变了列表本身,sorted不改变数据结构本身 反转
a
[, , , ]
a.reverse()
a
[, , , ] 列表循环(两种循环方式,非常重要) for item in a :
print item for index,value in enumerate(a):
print index.item 题目:对于列表a=[, , , , , , ],它的索引偶数项加1,输出新的列表 a = [, , , , , , ] b = [] for item in a:
if a.index(item) % == :
b.append(item + )
else:
b.append(item) print(b) a = [, , , , , , ] b = [] for index,value in enumerate(a):
if index % == :
b.append(value+)
else:
b.append(value) print(b)
列表推导式 格式: [表达式 for item1 in 序列1 ... for itemN in 序列N if 条件表达式]
作用: 一句话完成:在循环遍历中把满足某个条件的项取出来。 列出10以内的偶数
a = list(range(,)) s = [x for x in a if x % == ]
print(s)
Python数据结构之列表的更多相关文章
- python数据结构-数组/列表/栈/队列及实现
首先 我们要分清楚一些概念和他们之间的关系 数组(array) 表(list) 链表(linked list) 数组链表(array list) 队列(queue) 栈(stack) li ...
- Python数据结构之列表、元组及字典
一位大牛Niklaus Wirth曾有一本书,名为<Algorithms+Data Structures=Programs>,翻译过来也就是算法+数据结构=程序.而本文就是介绍一下Pyth ...
- Python数据结构:列表、元组和字典
在Python中有三种内建的数据结构——列表list.元组tuple和字典dict 列表中的项目包括在方括号中,项目之间用逗号分割 元组和列表十分类似,只不过元组和字符串一样是不可变的 即你不能修改元 ...
- Python数据结构 将列表作为栈和队列使用
列表作为栈使用 Python列表方法使得列表作为堆栈非常容易,最后一个插入,最先取出(“后进先出”).要添加一个元素到堆栈的顶端,使用 append() .要从堆栈顶部取出一个元素,使用 pop() ...
- Python数据结构——散列表
散列表的实现常常叫做散列(hashing).散列仅支持INSERT,SEARCH和DELETE操作,都是在常数平均时间执行的.需要元素间任何排序信息的操作将不会得到有效的支持. 散列表是普通数组概念的 ...
- Python数据结构:列表、字典、元组、集合
列表:shoplist = ['apple', 'mango', 'carrot', 'banana']字典:di = {'a':123,'b':'something'}集合:jihe = {'app ...
- Python数据结构之四——set(集合)
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 经过几天的回顾和学习,我终于把Python 3.x中的基础知识介绍好啦.下面将要继续什么呢?让我想想先~~~嗯,还是 ...
- Python - 数据结构 - 第十五天
Python 数据结构 本章节我们主要结合前面所学的知识点来介绍Python数据结构. 列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和 ...
- Python学习笔记(3)--数据结构之列表list
Python的数据结构有三种:列表.元组和字典 列表(list) 定义:list是处理一组有序项目的数据结构,是可变的数据结构. 初始化:[], [1, 3, 7], ['a', 'c'], [1, ...
随机推荐
- vue:vue router学习小结
序:本篇内容主要侧重对前端路由的理解,以vue的官方路由作为载体,进行一个简单介绍. 一.路由历史: 最早开始的时候,项目开发使用的是SSR,即服务端渲染.这个时候刷新页面,服务器返回的是全部的htm ...
- Visual Studio 2017 初次体验
在初次体验中遇到以下问题以及技巧 1. 在出现红色波浪线时为出现错误语法,将鼠标移动到相应位置可以获得相关错误信息 2.在编写代码过程中,行号上出现的小黄灯可以有提示信息 3.List 与 Array ...
- shell基础及变量符号
kernel主要的功能: 1.内存的管理 2.设备驱动程序 3.文件系统的管理 4.进程的管理 5.网络系统 vim /etc/profile.d/ profile(主配置文件) .d(子配置文件 ...
- Python_三级目录
程序要求: 1. 使用字典存储 1. 可以一层一层的进入到所有层2. 可以在每层返回上一层3. 可以在任意层退出 三级目录写了两个版本,第一个版本是刚看完字典写出来的,代码很多冗余,很多重复. men ...
- java util - 中文、繁体转成拼音工具pinyin4j
需要 pinyin4j-2.5.0.jar 包 代码例子 package cn.java.pinyin4j; import net.sourceforge.pinyin4j.PinyinHelper; ...
- vue之小小动态按钮
Vue是前台框架,可以独立完成前后端分离式web项目渐进式的javascript框架 ,今天我们来设计一个简单的动态按钮 具体效果图如下: 点击后会变成这样: 首先我们需要下载vue.js:htt ...
- python面试题之介绍一下Python中webbrowser的用法
所属网站分类: 面试经典 > python 作者:外星人入侵 链接: http://www.pythonheidong.com/blog/article/13/ 来源:python黑洞网 www ...
- 常见的js算法面试题收集,es6实现
1.js 统计一个字符串出现频率最高的字母/数字 let str = 'asdfghjklaqwertyuiopiaia'; const strChar = str => { let strin ...
- 【Todo】 cygwin下emacs中M-x shell 中出现乱码
- Diycode开源项目 Glide图片加载分析
1.使用Glide前的准备 1.1.首先要build.gradle中添加 github原地址点击我. 参考博客:Glide-开始! 参考博客:android图片加载库Glide的使用介绍. 参考博 ...