关于list.extend(iterable)

extend内的参数只要是iterable就可以,那么也可以添加定制的iterable,开整。

class A(object):
        def __init__(self):
                self.a = 0
        def __iter__(self):
                return self
        def next(self):
                self.a = self.a + 1
                if self.a > 10:
                        self.a = 0
                        raise StopIteration();
                return self.a

  

>>> import collections
>>> isinstance(a, collections.Iterable)
True
>>> import h
>>> a = h.A()
>>> for x in a:
...     print x,
...
1 2 3 4 5 6 7 8 9 10
>>> l = list(‘sdfsd‘)
>>> l
[‘s‘, ‘d‘, ‘f‘, ‘s‘, ‘d‘]
>>> l.extend(a)
>>> l
[‘s‘, ‘d‘, ‘f‘, ‘s‘, ‘d‘, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

  

  

时间: 2024-09-30 04:36:50

关于list.extend(iterable)的相关文章

也谈python列表append和extend的区别

关于append和extend两个方法,网上很多人说法如下: append() 方法向列表的尾部添加一个新的元素.只接受一个参数. extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中. 但是,关于extend只接受一个列表作为参数这种说法,深表怀疑.举个栗子: extend >>>a= [1,2,3,4] >>> a.extend(['a','b']) >>> a [1, 2, 3, 4, 'a', 'b'] appe

序列的+、+=、extend、append理解

列表 + 元组: 1 >>> a = [1, 2] 2 >>> b = (3, 4) 3 >>> a = a + b 4 Traceback (most recent call last): 5 File "<stdin>", line 1, in <module> 6 TypeError: can only concatenate list (not "tuple") to list 列

python列表之append与extend方法比较

append和extend是列表的两种添加元素方式,但这两种方式却又有些不同之处.那么不同之处在哪里呢,我们通过对二者的定义和实例来看一看. list.append() 1.定义:L.append(object) -> None -- append object to end. 2.说明:从定义我们可以看到这是将object原对象添加到list的末尾. 3.栗子: 1 # 添加一个列表 2 >>> a = [1, 2, 3, 4, 5] 3 >>> a.appen

python list练习题

1.合并两个有序列表,并且保持合并后的列表有序 In [20]: lst1 = [32, 42, 12, 5, 14, 4, 1] In [21]: lst2 = [199, 22, 324, 89, 2] In [22]: help(lst1.sort) Help on built-in function sort: sort(...) method of builtins.list instance     L.sort(key=None, reverse=False) -> None --

python第二课

变量 只要在内存里存在就可以使用  (栈) 三元运算 name = 值1 if 条件成立 else 值2 进制 二进制  八进制  十进制  十六进制 基础 一切事物都是对象,对象由类创建 type  dir()  help() 类中的方法 __方法__   私有方法,可能有多种执行方式 方法         只有一种执行方法 数字 abs()  cmp(x,y)  coerce(x,y)  divmod(x,y)  x//y  hash(x)  x**y int(x)  long(x)  fl

Python数据结构

1. 元组(tuple) 元组由不同的元素组成,每个元素可以储存不同类型的数据,如字符串.数字甚至元组.元组是写保护的,即元组创建后不能再做任何修改操作. 1.1 元组的创建 Tuple(元组)由一系列元素组成,所有元素被包含在一对圆括号中.创建元组时可以不指定元素个数,但一旦创建后就不能修改长度 元组的创建格式如下:tuple_name = (元素1,元素2,-) 如果创建空元组,只需要一对空的圆括号:tuple_name = () 如果创建的元组只包含一个元素,应在元素后面加上逗号,以区分元

Python数据类型及其方法详解

Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知识回顾. 一.整型和长整型 整型:数据是不包含小数部分的数值型数据,比如我们所说的1.2.3.4.122,其type为"int" 长整型:也是一种数字型数据,但是一般数字很大,其type为"long" 在python2中区分整型和长整型,在32位的机器上,取值范围是-2

Python基本数据类型(二)

一.str的函数说明 class str(basestring):     """     str(object='') -> string          Python2和Python3的用法一致,在Python2中,主要将参数以字符串形式进行返回,如果参数是字符串,则直接返回:     在Python3中,主要为给定对象创建一个新的字符串对象,如果指定了错误的编码,则必须为对象指定数据缓冲区来处理错误编码:否则,返回the result of object.__s

Python之路【第二篇】:Python基础(一)

Python之路[第二篇]:Python基础(一) 入门知识拾遗 一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 1 2 3 if 1==1:     name = 'wupeiqi' print  name 下面的结论对吗? 外层变量,可以被内层变量使用 内层变量,无法被外层变量使用 二.三元运算 1 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为假:result = 值2 三.进制 二进制,01 八进