首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展Python列表“内联”

扩展Python列表“内联”
EN

Stack Overflow用户
提问于 2015-03-15 08:20:50
回答 2查看 8.8K关注 0票数 5

我正在寻找list.extend()方法的替代方案,该方法可以内联工作。

而不是

代码语言:javascript
复制
x = range(15,30,3)
x.extend([0])
print (x)

>>> [15, 18, 21, 24, 27, 0]

我需要一个可以内联的等价物,比如

代码语言:javascript
复制
print range(15,30,3).extend([0])

>>> None

但是扩展本身并不返回列表本身。

有什么花哨的开箱即用的通讯方式来达到同样的目的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-15 08:22:04

只需将这些列表与+操作符连接起来:

代码语言:javascript
复制
range(15, 30, 3) + [0]

或者,如果您需要一个迭代器,并且list是巨大的,那么使用itertools.chain

代码语言:javascript
复制
import itertools
it = itertools.chain(range(15, 30, 3), [0])

一个简单的注意事项:range在Python 3+中创建了一个range对象,它不允许连接:

range实现了除级联和重复之外的所有公共序列操作(因为range对象只能表示遵循严格模式的序列,而重复和级联通常会违反该模式)。

票数 15
EN

Stack Overflow用户

发布于 2019-04-06 14:22:15

在Python中,就像@ 3+一样,range创建了range对象。但是您可以首先从range对象创建list

代码语言:javascript
复制
x = list(range(15, 30, 3)) + [0]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29058643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档