博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Python CookBook2》 第四章 Python技巧 - 若列表中某元素存在则返回之 && 在无须共享引用的条件下创建列表的列表...
阅读量:7210 次
发布时间:2019-06-29

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

若列表中某元素存在则返回之


任务:

   你有一个列表L,还有一个索引号i,若i是有效索引时,返回L[i],若不是,则返回默认值v  

 

解决方案:

  1. 列表支持双向索引,所以i可以为负数
    >>> def list_get(L,i,v=None):    if -len(L)<= i < len(L):        return L[i]    else:        return v    >>> list_get([1,2,3,4,5,6],3)4

     

  2. 异常机制
    >>> def list2_get(L,i,v=None):    try:        return L[i]    except IndexError:        return 'ERror'    >>> list2_get([1,2,3,4,5,6],7)'ERror'

     

 

在无须共享引用的条件下创建列表的列表


任务:

  创建一个多维度的列表,切同时避免隐式的引用共享。 

 

解决方案:

  使用列表推导创建一个5 x 10的全为0的矩阵:

>>> test_list = [[0 for x in range(5)] for column in range(10)]>>> test_list[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

 

转载于:https://www.cnblogs.com/wuzhiming/p/3967932.html

你可能感兴趣的文章
img = img1*mask + img2*(1-mask) How do that ?
查看>>
对话平安科技CTO方国伟:平安云差异化在哪?
查看>>
Greenplum segment级问题的排查 - gp_session_role=utility (含csvlog日志格式解读)
查看>>
在Android NDK下打印log
查看>>
MFC中的CString类使用方法指南
查看>>
Git学习第三课 使用github创建一个新的项目
查看>>
互联网上的时光机器
查看>>
UML类图学习
查看>>
成为顶尖机器学习算法专家需要知道哪些算法?
查看>>
Lombok简介
查看>>
几款开源图像处理软件评测研究
查看>>
Fundebug是这样备份数据的
查看>>
HT for Web的HTML5树组件延迟加载技术实现
查看>>
apolloxlua include关键字
查看>>
Flutter教程app
查看>>
使用Hexo搭建专属Blog
查看>>
Swoole 2019 :化繁为简、破茧成蝶
查看>>
Android RTL 及小语种 适配
查看>>
走近webpack(1)--多入口及devServer的使用
查看>>
jquery-weui滚动加载问题解决
查看>>