1、input和raw_input的区别
input:返回值为输入值
raw_input:返回值为值的字符串型
price = input("input apple price: ")
print "apple price: " + price
上面代码会产生错误: cannot concatenate 'str' and 'int' objects
price = raw_input("input apple price: ")
print "apple price: " + price
则运行成功,因此在大多数情况下使用raw_input。
2、列表相加和extend的区别
a = [1, 2, 3]
b = [4, 5, 6]
a+b
a.extend(b)
a+b会产生一个全新的列表,而a.extend(b)会修改a使其成为相加后列表
3、返回排序后列表的正确做法
x = [2, 4, 3, 7, 5]
y = x.sort() #错误,sort会改变x,且sort函数无返回值,y为空
y = x #错误,x和y指向同一列表,x也会改变
y = x[ : ] #正确,复制整个列表到y
y.sort()
y = sorted(x) #最简单的方法,返回排好序的x列表赋值给y,且x不变