Python:列表反序和解析
1)列表反序
A、list.reverse():将列表反序;
l = [1, 2, 3, 4, 5]
print(l.reverse())
-->[5, 4, 3, 2, 1]
B、l.[::-1] --> [5, 4, 3, 2, 1]
# l.[:-1] --> [1, 2, 3, 4]
C、reversed(list) :得到list的反向迭代器;
可用:for x in reversed(list):来反向迭代list;
# 执行reversed(list)时,需要调用__reversed__()方法,即反向迭代接口;
# liter(list):得到list的正向迭代器;
class FloatRange:
def __init__(self, start, end, step = 0.1):
self.start = start
self.end = end
self.step = step def __reversed__(self):
t = self.end
while t >= self.start:
yield t
t -= self.step def __iter__(self):
t = self.start
while t <= self.end:
yield t
t += self.step # 此循环,实例化时自动调用__iter__()方法,而不是__reversed__()方法;
for x in FloatRange(1.0, 3.0, 0.5):
print(x) # 此循环,只有定义了__reversed__()方法后,才能直接使用reversed;
for x in reversed(FloatRange(1.0, 4.0, 0.5)):
print(x)
2)列表解析法
实例:刷选出列表中大于10的数据
from random import randint
list_1 = [randint(0, 20) for i in range(30)]
list_2 = [x for x in list_1 if x >= 10]
print(list_2)
Python:列表反序和解析的更多相关文章
- Django的列表反序
Django虽然是python的web框架,但它不是所有的python特性都支持的. 最近在项目中遇到一个问题,需要在Django中将获得的列表反序排列,一开始我使用的是python的reverse方 ...
- python列表逆序三种方法
栗子: # 题目:将一个数组逆序输出. # # 程序分析:用第一个与最后一个交换. import random list =[random.randint(0,100) for _ in range( ...
- python 数组反序的方法
arr = np.array(some_sequence) reversed_arr = arr[::-1] do_something(arr) look_at(reversed_arr) do_so ...
- Python—列表元组和字典
Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...
- python列表和字符串的三种逆序遍历方式
python列表和字符串的三种逆序遍历方式 列表的逆序遍历 a = [1,3,6,8,9] print("通过下标逆序遍历1:") for i in a[::-1]: print( ...
- Python列表解析与生成器表达式
Python列表解析 l = ["egg%s" %i for i in range(100) if i > 50] print(l) l= [1,2,3,4] s = 'he ...
- python列表解析补充:
python列表解析补充: # 补充: f = [x + y for x in 'ABCDE' for y in '1234567'] print(f) test = [] for x in 'ABC ...
- Python中列表逆序
1.list.reverse() 该方法是直接在原来的列表里面将元素进行逆序排列,不需要创建新的副本用于存储结果. 这种方式,有好处也有坏处.好处是节省内存使用,因为我们不需要重新申请空间来保存最后的 ...
- python 列表、元组
列表 List(列表) 是 Python 中使用最频繁的数据类型. 列表可以完成大多数集合类的数据结构实现.它支持字符,数字,字符串甚至可以包含列表(即嵌套). 列表用 [ ] 标识,是 python ...
随机推荐
- Asp.Net 5 Web Hook
首先,然我们来看一下WebHooks是什么.WebHooks是一个协议.它们是HTTP回调技术.并且它们是"用户定义的HTTP回调".你和 (或) 您的应用程序在有什么事情发生时会 ...
- java_Ninja实战过程
使用Ninja马上两年了,之前多多少少的都是跟着项目模仿着写,今年上半年准备从一个小项目开始从始至终走一遍; 首先官网:http://www.ninjaframework.org; github: h ...
- Java实现时间日期格式转换示例
package com.hanqi.util; import java.text.ParseException; import java.text.SimpleDateFormat; import j ...
- Python赋值魔法技巧
实验环境: [root@localhost ~]# python -V Python 2.7.5 1.序列解包 多个赋值操作可以同时进行 >>> x,y,z = 1,2,3 > ...
- H5 input默认数字键盘,显示为密码格式
<P> <span class="yzname w25">银行密码</span> <input class="j_passwor ...
- linux下无线鼠标驱动执行流程
操作系统: debian 7.4(linux 3.2.54) 硬件: 一个无线鼠标.一个有线鼠标.usb集线器. 从淘宝上花了15块钱买了个无线鼠标,很好奇它的驱动程序是如何执行的. 首先将usb集线 ...
- running a background task over ssh
原文: Why does running a background task over ssh fail if a pseudo-tty is allocated? 问题: I've recently ...
- 算法(Algorithms)第4版 练习 1.5.15
用归纳法推导: 1.height = 0时,成立,其level 0的节点个数为C(0,0)=1. height = 1时,成立,其level 0的节点个数为C(1,0)=1,其level 1的节点个数 ...
- JAVA中的4种线程池的使用
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.newFixe ...
- Spark- Spark普通Shuffle操作的原理剖析
在spark中,什么情况下会发生shuffle? reduceByKey,groupByKey,sortByKey,countByKey,join,cogroup等操作. 默认的shuffle操作的原 ...