开发手册 欢迎您!
软件开发者资料库

Python生成指定范围数字正数和负数列表(list)

本文主要介绍Python中,指定数字的范围,生成包含正数和负数的列表(list)的方法,及实现的示例代码。

1、使用列表生成器

nums = [y for x in range(6,10) for y in (x,-x)]print(nums)[6, -6, 7, -7, 8, -8, 9, -9]

2、使用函数方法生成

def range_with_negatives(start, end):    for x in range(start, end):        yield x        yield -x

用法:

list(range_with_negatives(6, 10))

3、使用*实现

>>> [*range(6, 10), *range(-9, -5)][6, 7, 8, 9, -9, -8, -7, -6]

4、使用itertools.chain()实现

import itertoolslist(itertools.chain(range(6, 10), range(-9, -5)))

或者

>>> list(itertools.chain(*((x, -x) for x in range(6, 10))))[6, -6, 7, -7, 8, -8, 9, -9]

5、使用product和starmap

from itertools import product, starmapfrom operator import mullist(starmap(mul, product((-1, 1), range(6, 10))))