ex32 Loop and Lists
示例代码
the_count = [1, 2, 3, 4, 5]
fruits = ['apples', 'oranges', 'pears', 'apricots']
change = [1, 'pennies', 2, 'dimes', 3, 'quarters']
for number in the_count:
print(f"This is count {number}")
for fruit in fruits:
print(f"A fruit of type: {fruit}")
for i in change:
print(f"I got {i}")
elements = []
for i in range(0, 6):
print(f"Adding {i} to the list.")
elements.append(i)
for i in elements:
print(f"Element was: {i}")
一些思考
- 问:
range
函数的理解
答:range(a, b)
是指范围[a, b)(左闭右开)
- 问:是否有办法避免使用
for-loop
语句,而直接将 range(0, 6)
赋予elements?
答:elements = range(0, 6)
- 问:除了
append
,对于list还有什么操作
答:
运算 |
结果 |
s[i] = x |
将 s 的第 i 项替换为 x |
s[i:j] = t |
将 s 从 i 到 j 的切片替换为可迭代对象 t 的内容 |
del s[i:j] |
等同于 s[i:j] = [] |
s[i:j:k] = t |
将 s[i:j:k] 的元素替换为 t 的元素 |
del s[i:j:k] |
从列表中移除 s[i:j:k] 的元素 |
s.append(x) |
将 x 添加到序列的末尾 (等同于 s[len(s):len(s)] = [x] ) |
s.clear() |
从 s 中移除所有项 (等同于 del s[:]) |
s.copy() |
创建 s 的浅拷贝 (等同于 s[:] ) |
s.extend(t) 或 s += t |
用 t 的内容扩展 s (基本上等同于 s[len(s):len(s)] = t ) |
s *= n |
使用 s 的内容重复 n 次来对其进行更新 |
s.insert(i, x) |
在由 i 给出的索引位置将 x 插入 s (等同于 s[i:i] = [x] ) |
s.pop([i]) |
提取在 i 位置上的项,并将其从 s 中移除 |
s.remove(x) |
删除 s 中第一个 s[i] 等于 x 的项目。 |
s.reverse() |
就地将列表中的元素逆序。 |