美文网首页
python入门 之小笔记

python入门 之小笔记

作者: 急躁的假汉子 | 来源:发表于2017-08-15 13:31 被阅读0次

    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

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

    相关文章

      网友评论

          本文标题:python入门 之小笔记

          本文链接:https://www.haomeiwen.com/subject/jdfurxtx.html