列表

基本操作
>>>len([1,3,4])
3

>>>[1,2,3]+[4,5,6]    +号两边必须是相同类型
[1,2,3,4,5,6]

>>>['ni!']*4
['ni!','ni!','ni!','ni!']

>>>str([1,2])+"34"
'[1,2]34'

>>>[1,2]+list("34")
[1,2,3,4]

列表迭代和解析
>>>3 in [1,2,3]
true

>>>for x in [1,2,3]:
    print (x,end=' ');
1,2,3
>>> res = [c *4 for c in 'spam'];
>>>res
['ssss','pppp','aaaa','mmmm']

索引 分片和矩阵

>>>l = ['aa','bb','cc']
>>>l[2]
'cc'
>>>l[-2]
'bb'
>>>l[1:]
['bb','cc']

列表是可变的,他们支持原处改变列表对象的操作

索引与分片的赋值

>>>l = ['aa','bb','cc']
>>>l[1]='dd'
>>>l
['aa','dd','cc']

>>>l[0:2]=['xx','yy']
>>>l
['xx','yy','cc']

列表方法的调用

>>>l.append('aa')
>>>l
['xx','yy','cc','aa']
>>>l.sort()
>>>l
['aa','cc','xx','yy']
>>>l.sort(key=str.lower)    按字符串的小写排序
['aa','cc','xx','yy']

>>>l.sort(key=str.lower,reverse = true)   翻转
>>>l
['yy','xx','cc','aa']

>>>l = [1,2]
>>>l.extend([3,4,5])    扩展
>>>l
[1,2,3,4,5]

>>>l.pop()    推出最后一个元素
>>>l
[1,2,3,4]

>>>l.reverse()        翻转
>>>l
[4,3,2,1]

>>>l = []
>>>l.append(1)        添加数据
>>>l.append(2)
>>>l
[1,2]

>>>l = ['aa','bb','cc']
>>>l.index('aa')    索引
0

>>>l.insert(1,'xx')    插入
>>>l
['aa','xx','bb','cc']

>>>l.remove('xx')    移除
>>>l
['aa','bb','cc']

>>>l.pop(1)    移除索引元素
>>>l
['aa','cc']

其他常见的列表操作

>>>l = ['aa','bb','cc']
>>>del l[0]        删除列表元素
>>>l
['bb','cc']

>>>del l[1:]        删除列表分片
>>>l
['aa']

>>>l = ['aa','bb','cc']
>>>l[1:] = []        删除列表分片
>>>l
['aa']

字典

除了列表外,字典也许就是python中最灵活的数据结构了
字典的基本操作

>>>d = {'spam':2,'ham':1,'eggs':3}
>>>d['spam']            通过key取值
2

>>>d
{'spam':2,'ham':1,'eggs':3}

>>>len(d)            长度
3
>>>'ham'in d            成员
true

>>>list(d.keys())        将字典的key转换成list
['eggs','ham','spam']

原处修改字典

>>>d['ham'] = ['grill','bake','fry']        赋值
>>>d
{'spam':2,'ham':['grill','bake','fry'],'eggs':3}

>>>del d['eggs']    删除
>>>d
{'spam':2,'ham':['grill','bake','fry']}

其他的字典方法
>>>d = {'spam':2,'ham':1,'eggs':3}
>>>list(d.values())
[3,1,2]

>>>list(d.items())
[('eggs',3),('ham',1),('spam',2)]

>>>d.get('spam')
2

>>>print(d.get('toast'))
None

>>>d.get('toast',88)    默认值
88

字典的update方法类似于合并  相同的覆盖
>>>d2 = {'toast':4,'muffin':5,'eggs':3}
>>>d.update(d2)
>>>d
{'spam':2,'ham':1,'eggs':5,'toast':4,'muffin':5}

>>>d.pop('muffin')
{'spam':2,'ham':1,'eggs':5,'toast':4}

python学习之列表和字典的更多相关文章

  1. Python学习三|列表、字典、元组、集合的特点以及类的一些定义

    此表借鉴于他人 定义 使用方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner', ...

  2. 关于Python学习之 列表与字典

    列表 列表是Python中最具灵活性的有序集合对象类型. # 列表迭代和解析 >>> res = [c*4 for c in 'Spam'] >>> res ['S ...

  3. 【python学习笔记】4.字典:当索引不好用时

    [python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...

  4. Python学习02 列表 List

    Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...

  5. python字符串、列表和字典的说明

    python字符串.列表和字典的说明 字符串.列表.字典 字符串的作用存储一段数据信息.例如 info = '我爱北京天安门' ,在调取的时候可以直接调取,灵活方便,print(info) 就可以把刚 ...

  6. Python学习笔记----列表、元组和字典的基础操作

    文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...

  7. Python 1.2 列表和字典基础

    一. List创建.索引.遍历和内置增删函数 1.列表是Python的内置可变对象,由Array实现,支持任意类型的添加.组合和嵌套. L = [] # list declare L = [1, 1. ...

  8. [转载]Python 元组、列表、字典、文件

    python的元组.列表.字典数据类型是很python(there python is a adjective)的数据结构.这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益 ...

  9. Python学习(11)字典

    目录 Python 字典 访问字典中的值 修改字典 删除字典元素 字典键的特性 字典内置函数&方法 Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. ...

随机推荐

  1. 【caffe】Error parsing text-format NetParameter: ****:**:Expected string.

    错误描述: prototxt中第****行,第**列缺少一个整型数或者标识符. 解决方法: 检查对应的prototxt文件,第****行,第**列是否遗漏相关信息. 我的文件是在代码新旧版本没对应好~ ...

  2. H3CNE实验:通过Console端口本地访问H3C设备

    连接好Console线后,将交换机开机,在SecureCRT上会显示如下信息: Starting...... RAMLine.....OK System is booting............. ...

  3. eclipse 小方法

  4. python学习笔记之运算符

    目录 前言 软件环境 身份运算符 算术运算符 比较运算符 位移运算符 自变运算符 位运算符 逻辑运算符 成员关系运算符 Python真值表 最后 前言 在前面的博文介绍了Python的数据结构之后,接 ...

  5. set-集合功能介绍

    叨逼叨:#集合 不可重复的列表 可变类型#1.添加 无则添加有则不操作 不可重复 # se = {'alex','eric','seven'} # se.add('qiqi') # se.add('b ...

  6. 获取子物体数量---Transform.childCount

    如何判断一个物体下是否有子物体?getchild(0)!=null?显然不可取 那去获取拿到子物体数量?transform.GetChildCount();可以解决 但在新版本中已被弃用,可用tran ...

  7. Unity3D 物体移动到指定点

    transform.position=Vector3.MoveTowards(transform.position , Target.position, speed * Time.deltaTime) ...

  8. 学习java应该了解一些html超文本标记语言(前端)

    在自己学习的过程中遇到一些内容,怕忘记所以借助博客加深印象也方便查找! html超文本标记语言中,分行级元素和块级元素. 行级元素的含义:行级元素不独占一行,相邻的行级元素在一行排列:行级元素可以控制 ...

  9. RxSwift 系列(五) -- Filtering and Conditional Operators

    前言 本篇文章将要学习RxSwift中过滤和条件操作符,在RxSwift中包括了: filter distinctUntilChanged elementAt single take takeLast ...

  10. luoguP1886 滑动窗口 [单调队列]

    题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值. 例如: The array i ...