学习python的时候,需要注重举一反三。
比如书上只讲述了序列相加和乘法。
我则尝试对序列进行一些稍微复杂的运算。
numbers=[1,2,3,4,5,6,7,8,9,10]
age=[45,22,58,44,45,56]
print numbers*2+age
print age+numbers*2
print (numbers+age)*2
最后两条print 语句的运行结果是
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 45, 22, 58, 44, 45, 56]
[45, 22, 58, 44, 45, 56, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 45, 22, 58, 44, 45, 56, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 45, 22, 58, 44, 45, 56]
第一条:重复序列numbers,再与序列 age拼接
第二条:序列numbers先与序列age拼接产生新的序列,再重复一遍。
由此可知,序列的加法和乘法运算满足先括号内,乘法,加法的优先级规则
然而age+numbers*2与numbers*2+age并不相等,这是值得注意的。也就是所谓的不满足交换律。