MITx - 6.00.1x 笔记(3) Structured Types
Structured Types
Tuple
- 如果tuple中只有一个元素,需要加逗号“,”,否则不能被识别为tuple
- tuple中的元素不可被改变(string也是)
- 函数返回多个值时可以用tuple
使用tuple
Lists
# 删去list中元素的3种方法
list.del(list[index]) # 删去list中索引为index的元素
list.pop() # 弹出list中最后一个元素
list.remove(element) # 删去list中的element元素
lists和string之间转换
list.sort(key=None, reverse=False)
Sort the items of the list in place (the arguments can be used for sort customization, see sorted() for their explanation).不返回list
sorted(iterable, *, key=None, reverse=False)
Return a new sorted list from the items in iterable.
list.remove(x)
Remove the first item from the list whose value is x. It is an error if there is no such item.
list.extend(iterable)
Extend the list by appending all the items from the iterable. Equivalent to a[len(a):] = iterable.
指向同一个list:
指向不同的list:
或者使用clone方法:
chill = cool[:]
lists of function:
Map(映射)
两种映射方式:
Dictionaries
改进fib函数
Memoization(记忆化)
在计算机科学中,记忆化是一种提高进程运行速度的优化技术。通过储存大计算量函数的返回值,当这个结果再次被需要时将其从缓存提取,而不用再次计算来节省计算时间。记忆化是一种典型的时间存储平衡方案。
可以看到11405773和65之间的明显差距,运行效率大大提升。