|
0鱼币
听完小甲鱼老师的视频课后,知道extend函数可以同时插入多个数据,但是插入多个的时候要以 列表 作为参数形式输入
然后无意中发现,当用单引号引入数据的时候出现了以下情况:
>>> a.extend('dasgaer')
>>> a
[1, 2, 3, 4, '5', 5, 'd', 'a', 's', 'g', 'a', 'e', 'r']
想问下这是为啥?
因为一直以来都觉得 引号 就是表示这个数据是一个字符串类型,为什么这里一个字符串类型的数据会单独分开插入到列表末尾?
我不知道你到底哪里不理解了
extend()需要可迭代对象(iterable)作为参数,而字符串str类型本身就是一个可迭代对象
因此,extend()可以等价于一个迭代循环
- In [1]: a = []
- In [2]: strExp = 'testString'
- In [3]: a.extend(strExp)
- In [4]: a
- Out[4]: ['t', 'e', 's', 't', 'S', 't', 'r', 'i', 'n', 'g']
- In [5]: b = []
- In [6]: for each in strExp:
- ...: b.append(each)
- ...:
- In [7]: b
- Out[7]: ['t', 'e', 's', 't', 'S', 't', 'r', 'i', 'n', 'g']
复制代码
|
|