码迷,mamicode.com
首页 > 编程语言 > 详细

《Python CookBook2》 第四章 Python技巧 - 若列表中某元素存在则返回之 && 在无须共享引用的条件下创建列表的列表

时间:2014-09-12 17:05:03      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   strong   for   div   sp   log   

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


任务:

   你有一个列表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]]

 

《Python CookBook2》 第四章 Python技巧 - 若列表中某元素存在则返回之 && 在无须共享引用的条件下创建列表的列表

标签:style   blog   color   使用   strong   for   div   sp   log   

原文地址:http://www.cnblogs.com/wuzhiming/p/3967932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!