-
set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。
创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:
>>> s = set(['A', 'B', 'C'])
可以查看 set 的内容:
>>> print s set(['A', 'C', 'B'])
请注意,上述打印的形式类似 list, 但它不是 list,仔细看还可以发现,打印的顺序和原始 list 的顺序有可能是不同的,因为set内部存储的元素是无序的。
因为set不能包含重复的元素,所以,当我们传入包含重复元素的 list 会怎么样呢?
>>> s = set(['A', 'B', 'C', 'C']) >>> print s set(['A', 'C', 'B']) >>> len(s) 3
结果显示,set会自动去掉重复的元素,原来的list有4个元素,但set只有3个元素。
查看全部 -
直接使用for循环可以遍历 dict 的 key
查看全部 -
Python的 dict 就是专门干这件事的。用 dict 表示“名字”-“成绩”的查找表如下:
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
我们把名字称为key,对应的成绩称为value,dict就是通过 key来查找 value。
花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。
由于dict也是集合,len() 函数可以计算任意集合的大小:
>>> len(d) 3
注意: 一个 key-value 算一个,因此,dict大小为3。
查看全部 -
正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:
>>> t = (1,) >>> print t (1,)
Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。
多元素 tuple 加不加这个额外的“,”效果是一样的:
>>> t = (1, 2, 3,) >>> print t (1, 2, 3)
查看全部 -
pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 'Paul'。
要把Paul踢出list,我们就必须先定位Paul的位置。由于Paul的索引是2,因此,用
pop(2)
把Paul删掉:查看全部 -
append()总是把新的元素添加到 list 的尾部。
L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。
查看全部 -
需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。
使用索引时,千万注意不要越界。
查看全部 -
计算结果不是布尔类型,而是字符串 'a=T',这是为什么呢?
因为Python把
0
、空字符串''
和None
看成 False,其他数值和非空字符串都看成 True,所以:True and 'a=T' 计算结果是 'a=T' 继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'
要解释上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算。
1. 在计算
a and b
时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。2. 在计算
a or b
时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
查看全部 -
Python把
0
、空字符串''
和None
看成 False,其他数值和非空字符串都看成 Trueand 和 or 运算的一条重要法则:短路计算。
1. 在计算
a and b
时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。2. 在计算
a or b
时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。查看全部 -
4-6的练习题思考下查看全部
-
短路计算。
1. 在计算
a and b
时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。2. 在计算
a or b
时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
查看全部 -
这节没有懂?
查看全部 -
Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果
查看全部 -
if语句 if:
if...else语句 if: else:
if ...elif...else语句 if: elif: else:
for循环
L = [75, 92, 59, 68]
sum = 0.0
for score in L:
sum=sum+score
print sum / 4L = ['Adam', 'Lisa', 'Bart']for name in L: print name
while 循环根据表达式判断循环是否结束。比如要从 0 开始打印不大于 N 的整数:N = 10 x = 0while x < N: print x x = x + 1
8.用 for 循环或者 while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句。 1至100的整数和,我们用while来实现:sum = 0 x = 1while True: sum = sum + x x = x + 1 if x > 100: breakprint sum
查看全部 -
Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数。
整数和浮点数混合运算的结果是浮点数
/ 商
% 余数
查看全部
举报