python入门 之小笔记

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.在生成的表格中,对于没有及格的同学,请把分数标记为红色

python入门 之小笔记_第1张图片

18.请编写一个函数,它接受一个 list,然后把list中的所有字符串变成大写后返回,非字符串元素将被忽略。

python入门 之小笔记_第2张图片

19.利用 3 层for循环的列表生成式,找出对称的 3 位数。例如,121 就是对称数,因为从右到左倒过来还是 121

python入门 之小笔记_第3张图片

以上是自己在学习过程中(某个网站上的),遇到的一些不常见的用法,函数等,借平台,温故而知新。

你可能感兴趣的:(python入门 之小笔记)