python列表list增加元素的4个方法:直接+,append()和.extend() .insert()的应用体验
先看一个应用例子:python分离列表中的偶数和奇数.
a = [1, 2, 3, 4, 5, 6, 7, 8, 8]
odd = list()
even = list()
n = 0
while n <= (len(a) - 1): #注意:这里边界限值,勿忘减一。索引号的最大值是列表的长度(元素个数)减1,这一点容易忽略,出错.
if a[n] % 2 == 0:
even.append(a[n]) #这是把a列表里的第n位元素,添加到even列表里.
else:
odd.append(a[n])
n += 1
print('奇数是', odd)
print('偶数是', even)
#------------------------------------------
print('上面是用append,下面将用extend')
a = [1, 2, 3, 4, 5, 6, 7, 8, 8]
odd = list()
even = list()
n = 0
while n <= (len(a) - 1):
if a[n] % 2 == 0:
even.extend(a[n:n + 1]) #注意:这里用.extend,如果还象append那样的形式就不行了,因为根据提示,切片(slice)可以用. 所以,要是只取一位元素添加的话,可以利用列表[]左闭右开的特点,假借切片的形式(a[n:n+1]),这其实还是只取第n位元素.
else:
odd.extend(a[n:n + 1])
n+=1
print('奇数是', odd)
print('偶数是', even)
运行结果如下:
奇数是 [1, 3, 5, 7]
偶数是 [2, 4, 6, 8, 8]
上面是用append,下面将用extend
奇数是 [1, 3, 5, 7]
偶数是 [2, 4, 6, 8, 8]
[Finished in 0.1s]
上面的办法,源于初学自然思维,后来看到老师答案,觉得比较妙.
number = [1,2,3,4,5,6,7,8,8]
even=[] #[ ]与list()等效
odd =[] #odd代表奇数
while len(number)>0: #当列表长度>0即列表不为空的时候
numbers= number.pop( ) #从列表中取出一个元素赋值给numbers,.pop()默认从尾部取,也可指定索引位取元素,如.pop(2)
if numbers%