-
居然忘记了List中元素的表达方式 L[XX]
如果a in L 表示的是一个值 加减直接s.add(a) or s.remove(a)
查看全部 -
难!!!!!!!!!!!!!!
查看全部 -
习题总结:
当set里的元素是集合时判断该集合是什么类型》》tuple? set里的元素是不变元素, ()是tuple 元素不可变,可取序列值
查看全部 -
6-2 Python之访问dict
我们已经创建一个dict,用于表示名字和成绩的对应关系:
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59,
}
那么,如何根据名字来查找对应的成绩呢?
可以简单的使用 d[key] 的形式来查找对应的 value,这和 list很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:
>>> print d['Adam']
95
>>> print d['Paul']
Traceback (most recent call last):
File "index.py", line 11, in <module>
print d['Paul']
keyError: 'Paul'
注意:通过key访问dict的value,只要key存在,dict就返回对应的value,如果key不存在,会直接报错:KeyError。
要避免keyError发生,有两个办法:
一是先判断一下key是否存在,用in操作符:
if 'Paul' in d:
print d['Paul']
如果'Paul'不存在,if语句判断为False,自然不会执行 print d['Paul'],从而避免了错误。
二是使用dict本身提供的一个get方法,在key不存在的时候,返回None:
>>> print d.get('Bart')
59
>>> print d.get('Paul')
None
查看全部 -
6-1 Python之什么是dict
我们已经知道,list和tuple 可以用来表示顺序集合,例如,班里同学的名字:
['Adam', 'Lisa', 'Bart']
或者考试成绩列表:
[95, 85, 59]
但是,要根据名字找到对应的成绩,用两个list表示就不方便。
如果把名字和分数关联起来,组成类似的查找表:
'Adam' == 95
'Lisa' == 85
'Bart' ==59
给定一个名字,就可以直接查到分数。
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.
查看全部 -
set 可以表示 集合 它是无序的 不重复的 和key区别是不管value 和list、区别是 它是无序的 可以包含list、
ex。s=set(['a','b','c','d'])
提取元素并提除多余的重复元素
查看全部 -
任务:
对100以内的两位数,请使用一个两重循环打印出所有十位数数字比个位数数字小的数,例如,23(2 < 3)
解答:
十位数循环从1至9,个位数循环从0至9。
参考代码:
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9]: for y in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]: if x < y: print x * 10 + y
解析:
print 10 * x + y 属于if循环内语句,所以需要在if语句内下缩进一格
查看全部 -
5-8 Python之多重循环
在循环内部,还可以嵌套循环,我们来看一个例子:
for x in ['A', 'B', 'C']:
for y in ['1', '2', '3']:
print x + y
x 每循环一次,y 就会循环 3 次,这样,我们可以打印出一个全排列:
A1
A2
A3
B1
B2
B3
C1
C2
C3查看全部 -
dict 增加和替换用赋值方法
ex。d【‘X’】=22
查看全部 -
dict 特点
1 dict 查找速度快 list 查找速度慢 ,但是dict占内存,list省
2 dict 中key不重复
3 dict中 key:value 无序, list 有序,所以不能用dict存储有序元素; key 不可变 ,因此list不能做key ,key可以是字符串、整数、浮点数
查看全部 -
dict 字典
key : value 钥匙和锁 当key 不存在 报错
检查key是否存在
1 print d【key】结果报错
2 print d.get(key) 结果为 none
查看全部 -
5-7 Python之continue继续循环
在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环。
假设我们已经写好了利用 for 循环计算平均分数的代码:
L = [75, 98, 59, 81, 66, 43, 69, 85]
sum = 0.0
n = 0
for x in L:
sum = sum + x
n = n + 1
print sum / n
现在老师只想统计及格分数的平均分,就是要把 x < 60 的分数删除掉,这时,利用 continue,可以做相当 x < 60d的时候,不能继续执行循环体的后续代码,直接进入下一次循环:
for x in L:
if x < 60:
continue
sum = sum + x
n = n + 1
查看全部 -
5-6 Python之break退出循环
用 for 循环或者while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句。
比如计算1至100的整数和,我们用while来实现:
sum = 0
x =1
while True:
sum = sum + x
x = x +1
if x > 100:
break
print sum
咋一看,while True是一个死循环,但是在循环体内,我们还判断了 x > 100 条件成立时,用break语句退出循环,这样也可以实现循环的结束。
查看全部 -
continue 继续循环
break和 continue 放在条件语句之后
自增变量表达式要放在 for或 while 之后 if之前
查看全部 -
L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
如果第一个索引是0,还可以省略:
>>> L[:3]
只用一个 : ,表示从头到尾:
>>> L[:]
切片操作还可以指定第三个参数:
>>> L[::2] ['Adam', 'Bart']
第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。
把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。
查看全部
举报