专栏首页LEo的网络日志python技巧分享(十)

python技巧分享(十)

16 Apr 2018 python技巧分享(十)

这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。

1 通过索引删除列表元素

my_list = range(0, 10)
print my_list
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del my_list[9]
print my_list
# [0, 1, 2, 3, 4, 5, 6, 7, 8]
del my_list[5:8]
print my_list
# [0, 1, 2, 3, 4, 8]

示例中,通过del语句,可以很方便删除列表中的某个元素或者部分元素。这里需要注意,指定的索引值不能大于列表最大长度-1,否则会抛出IndexError异常,另外,list对象的pop方法和remove方法也可以删除元素。

2 清空列表元素

my_list = range(0, 10)
print my_list
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print id(my_list)
# 87838600
del my_list[:]
print my_list
# []
print id(my_list)
# 87838600

清空一个列表有很多方式可以实现,但是借助del语句,可以不用生成新的列表对象。示例中可以看到,清空列表元素前和清空后,列表的id没有改变,即没有生成新的对象,可以继续使用该列表。

3 列表解析(list comprehensions)

my_list = range(0, 10)
even_num_list = [e for e in my_list if not e % 2]
print even_num_list
# [0, 2, 4, 6, 8]
odd_num_list = [e for e in my_list if e % 2]
print odd_num_list
# [1, 3, 5, 7, 9]

# syntax: [ expression for target in iterable lc-clauses ]

列表解析很有用,一行代码就可以完成很多功能。示例中,借助列表解析,很方便就从列表中筛选出偶数和奇数,代码少且运行更快。如果使用其他方式实现,难免代码会多一些,并且性能也会差一些。

列表解析语法规则如下:

[ expression for target in iterable lc-clauses ]

lc-clauses表示以下语句(可以是0个或者多个):

for target in iterable if expression

列表解析详见:https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions

LEo at 00:05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python技巧分享(十一)

    songleo
  • python技巧分享(十一)

    songleo
  • 工作感想(一)

    songleo
  • Python之从列表推导到zip()函数的五种技巧

    这 5几种方法,也许在入门阶段时,我们还不太了解它们,但在实战中这 几个技巧非常实用。

    Python知识大全
  • Python列表操作方法

    b.insert(1,'one')   #两个参数,第一个为索引,第二个为需要插入的参数值

    py3study
  • Python技巧101,每个新程序员都要知道

    Python比以往任何时候都更受欢迎,人们每天都在证明Python是一种非常强大且易于学习的语言。

    AiTechYun
  • 变量类型-List

    教程: 一:列表的创建     List(列表) 是 Python 中使用最频繁的数据类型。列表中元素的类型可以不相同,数字,字符串甚至可以包含列表(所谓嵌套...

    py3study
  • Python学习-3天--列表与元组

          列表是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。(python...

    py3study
  • python列表(list)的简单学习

    列表是由一系列按特定顺序排列的元素组成, 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数...

    py3study
  • 10 个不为人知的Python冷知识

    这东西有啥用呢?据说它是Numpy的语法糖,不玩 Numpy 的人,可以说是没啥用的。

    昱良

扫码关注云+社区

领取腾讯云代金券