博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【277】◀▶ Python 列表/元组/字典说明
阅读量:5760 次
发布时间:2019-06-18

本文共 3860 字,大约阅读时间需要 12 分钟。

目录:


参考:

列表截取很灵活,下面通过例子说明:

还可以通过 a[0:8:2] 来截取

>>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> a[-1]                                           # 最后一个元素9>>> a[-2]                                           # 倒数第二个8>>> a[:3]                                           # 第一个到索引为(3-1)的,不包括3[0, 1, 2]>>> a[-3:]                                           # 倒数第三个到最后[7, 8, 9]

 


 

参考:

  • Python的元组与列表类似,不同之处在于元组的元素不能修改
  • 元组使用小括号,列表使用方括号(例如记录坐标点,a = (123, 37))。
  • 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
  • 获取单个要素通过方括号,例如 dimension[0]

 

参考:

  • 字典是另一种可变容器模型,且可存储任意类型对象(类似 HTML 和 XML 的标签与值)。
  • 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
  • d = {
    key1 : value1, key2 : value2 }

代码实现:按照数字排序,获取前四位数字对应的分类的数目

>>> films_results = [128, 118, 16, 18, 20, 130]>>> films_class = ['Action', 'Action', 'Romance', 'Romance', 'Romance', 'Action']>>> sortedIndices = np.argsort(films_results)>>> sortedIndicesarray([2, 3, 4, 1, 0, 5], dtype=int64)>>> k=4>>> classCount = {}>>> for i in range(k):	voteLabel = films_class[sortedIndices[i]]	classCount[voteLabel] = classCount.get(voteLabel, 0) + 1>>> classCount{'Romance': 3, 'Action': 1}

dict.get(key,default=None),字典的get()方法,返回指定键的值,如果值不在字典中返回默认值。  

dict.fromkeys(iterable, value=None, /): Create a new dictionary with keys from iterable and values set to value.

用来创建一个新的字典,keys 保留 iterable 的,值按照 value。

 


前言
 

列表是Python中最基本的数据结构。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。列表的数据项不需要具有相同的类型。

Python 的元组与列表类似,不同之处在于元组的元素不能修改元组使用小括号列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

tup1 = ('physics', 'chemistry', 1997, 2000);tup2 = (1, 2, 3, 4, 5 );tup3 = "a", "b", "c", "d";

字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

本文以 列表(List) 为例。


一、访问列表中的值
 
list1 = ['physics', 'chemistry', 1997, 2000]list2 = [1, 2, 3, 4, 5]list3 = ["a", "b", "c", "d", "e"]print list1print list2print list3 print list1[0] print list2[2:] print list3[1:4]

********** RESULTS **********

['physics', 'chemistry', 1997, 2000][1, 2, 3, 4, 5]['a', 'b', 'c', 'd', 'e'] physics [3, 4, 5] ['b', 'c', 'd']
二、更新列表
 
list1 = ['physics', 'chemistry', 1997, 2000]print list1[1]list1[1] = 'math'print list1[1]

********** RESULTS **********

chemistrymath
三、删除列表元素
 

可以使用 del 语句来删除列表的的元素,如下实例:

list1 = ['physics', 'chemistry', 1997, 2000]print list1print list1[1]del list1[1]print list1print list1[1]

********** RESULTS **********

['physics', 'chemistry', 1997, 2000]chemistry['physics', 1997, 2000]1997
四、Python 列表脚本操作符
 

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。如下所示:

Python 表达式 结果 描述
len([1, 2, 3]) 3 长度
list[:2]、list[-3:]、list[:]   灵活截取
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
3 in [1, 2, 3] True 元素是否存在于列表中
4 not in [1, 2, 3] True 元素是否不存在于列表中
for x in [1, 2, 3]: print x, 1 2 3 迭代
[i+1 for i in range(0, 5)]   通过已有列表建立新列表
>>> a[0, 1, 2, 3, 4]>>> b = [i+1 for i in a]>>> b[1, 2, 3, 4, 5]>>> c = a + 1>>> [i for i in range(0, 5)][0, 1, 2, 3, 4]>>> [str(i) for i in range(0, 5)]['0', '1', '2', '3', '4']
list1 = ['physics', 'chemistry', 1997, 2000]print len(list1)list2 = list1 + list1list3 = list1 * 3print list2print list3if(1997 in list1):	print list1else:	print list2for x in list1:	print x

********** RESULTS **********

4['physics', 'chemistry', 1997, 2000, 'physics', 'chemistry', 1997, 2000]['physics', 'chemistry', 1997, 2000, 'physics', 'chemistry', 1997, 2000, 'physics', 'chemistry', 1997, 2000]['physics', 'chemistry', 1997, 2000]physicschemistry19972000
五、Python 列表函数 & 方法
 

Python包含以下函数:

序号 函数
1
比较两个列表的元素
说明:list1 与 list2 一样,返回值为 0
2
列表元素个数
3
返回列表元素最大值
4
返回列表元素最小值
5
将元组转换为列表

Python 包含以下方法:

序号 方法
1
在列表末尾添加新的对象
2
统计某个元素在列表中出现的次数
3
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4
从列表中找出某个值第一个匹配项的索引位置
5
将对象插入列表
6
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7
移除列表中某个值的第一个匹配项
8
反向列表中元素
9
对原列表进行排序

 

转载于:https://www.cnblogs.com/alex-bn-lee/p/8035915.html

你可能感兴趣的文章
springcloud 学习-eureka搭建-为eureka添加认证
查看>>
jQuery插件的开发
查看>>
基础,基础,还是基础之JAVA基础
查看>>
如何成为一个C++高级程序员
查看>>
ant android 打包签名和渠道
查看>>
一个简单的接口,被调用并同步给出响应的方法
查看>>
我的友情链接
查看>>
显式锁(第十三章)
查看>>
看linux书籍做的一些重要笔记(2011.07.03更新)
查看>>
CString、Char* ,char [20]、wchar_t、unsigned short转化
查看>>
从案例学RxAndroid开发(上)
查看>>
Redis学习手册(内存优化)
查看>>
浅尝TensorFlow on Kubernetes
查看>>
springboot系列十 Spring-Data-Redis
查看>>
Confluence 6 注册外部小工具
查看>>
excel进行矩阵计算
查看>>
基于Android平台的动态生成控件和动态改变控件位置的方法
查看>>
linux 死机分析
查看>>
BOM
查看>>
iOS: Block的循环引用
查看>>