append()方法
append()只能向列表尾部追加一个元素,无论是什么类型的数据追加过来只是一个元素。且覆盖源列表进行原地操作。
代码语言:javascript复制>>> a = [10,20,30]
>>> a.append(40) #追加一个数值型元素
>>> a
[10, 20, 30, 40]
>>> a.append(['Pyhon',50,60]) #追加一个列表型元素,在源列表里只是一个元素
>>> a
[10, 20, 30, 40, ['Pyhon', 50, 60]]
extend()方法
extend()方法可以将另一个列表的所有元素追加至当前列表尾部,追加多少元素即为多少元素。且覆盖源列表进行原地操作。
代码语言:javascript复制>>> a.extend([70,80,90])
>>> a
[10, 20, 30, 40, ['Pyhon', 50, 60], 70, 80, 90]
利用运算符 号也可以实现在列表中增加元素的目的,但不属于原地操作,而是返回新列表。 号和 * 号速度较慢,在添加大量元素时采用append()和extend()方法。
假如从列表a中找出以“.py”作为后缀的元素,存放到新列表b中。
代码语言:javascript复制>>> a
['test1.py', 'test2.sh', 'test3.txt', 'test4.exe', 'test5.py']
>>> b = []
>>> for i in a: #让i在列表a内循环取值
... if i.endswith('.py'): #如果i的值后缀为.py
... b.append(i) #则把i得到的值追加到新列表b
...
>>> b
['test1.py', 'test5.py']
代码语言:javascript复制题目链接:https://www.luogu.org/problem/P2084
#!/usr/bin/python3
m,n = input().split()
s = len(n)
flag = []
for i in range(s):
if n[i] != '0': #如果i不等于0
flag.append(f"{n[i]}*{m}^{s-1-i}") #把每次输出的字符串当做一个元素追加到flag
print(' '.join(flag)) #不加join方法则输出列表形式,用 号间隔将字符串连接起来