1.字符串中包含多个转义字符的时候
多行字符串前面添加r,把这个多行字符串也变成一个raw字符串
r'''Python is created by "Guido".It is free and easy to learn.Let's start learn Python in imooc!'''
2.对100以内的两位数,请使用一个两重循环打印出所有十位数数字比个位数数字小的数,例如,23(2 < 3)。(按行输出)
for x in range(1,10):
for y in range(1,10):
if x < y:
print str(x) + str(y), #注意这边的逗号
3.dict中的元素是无序的并且不可变
4.一是把新的元素添加到set中,二是把已有元素从set中删除
添加元素时,用set的add()方法
s = set([1, 2, 3]) s.add(4)
删除set中的元素时,用set的remove()方法
s = set([1, 2, 3,4]) s.remove(4)
5.比较函数cmp(x, y)就需要两个参数,如果x,返回-1,如果x==y,返回0,如果x>y,返回1
6.math包提供了sin()和cos()函数
7.Python的函数返回多值其实就是返回一个tuple
8.如果想让一个函数接受任意个参数,可以定义一个可变参数
def fn(*args): print args
9.range()函数可以创建一个数列:
>>> range(1, 101)[1, 2, 3, ..., 100]
请利用切片,取出:1. 前10个数;2. 3的倍数;3. 不大于50的5的倍数。
方法1:L = range(1, 101) print L[0:10] print L[2::3] print L[4:50:5]
方法2:foo = [2, 18, 9, 22, 17, 24, 8, 12, 27] print filter(lambda x: x % 3 == 0, foo)
10.利用倒序切片对 1 - 100 的数列取出:最后10个5的倍数
L = range(1, 101) print L[4::5][-10:]
11.请用for循环迭代数列 1-100 并打印出7的倍数
方法1:for i in range(1, 100)[6::7]: print i,
方法2:print '\n'.join("%s"%i for i in range(7,101,7))
方法3:for i in range(1,101): if i%7==0: print i
12.在for循环中取出索引:利用enumerate()函数
L = ['Adam', 'Lisa', 'Bart', 'Paul'] for index, name in enumerate(L): print index, '-', name
13.zip()函数可以把两个list变成一个list
zip([10, 20, 30], ['A', 'B', 'C']) [(10, 'A'), (20, 'B'), (30, 'C')]
14.values()与itervalues()的不同之处(效果一样)
a) values()方法实际上把一个 dict 转换成了包含 value 的list。
b) 但是itervalues()方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。
c) 打印 itervalues() 发现它返回一个对象,这说明在Python中,for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心
15.请根据dict:d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }打印出 name : score,最后再打印出平均分 average : score。
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
sum = 0.0
for k, v in d.items():
sum = sum + v
print k,':',v
print 'average', ':',sum/len(d)
16.请利用列表生成式生成列表 [1x2, 3x4, 5x6, 7x8, ..., 99x100]
print [x*(x+1) for x in range(1,100,2)]
17.在生成的表格中,对于没有及格的同学,请把分数标记为红色
18.请编写一个函数,它接受一个 list,然后把list中的所有字符串变成大写后返回,非字符串元素将被忽略。
19.利用 3 层for循环的列表生成式,找出对称的 3 位数。例如,121 就是对称数,因为从右到左倒过来还是 121。
以上是自己在学习过程中(某个网站上的),遇到的一些不常见的用法,函数等,借简书平台,温故而知新。
网友评论