python基本数据结构

      str, repr和反引号(`)是将python值转换为字符串的3中方法。str让字符串更易于阅读,repr(``)是把结果字符串转换为合理的python表达式,反引号在python3.0已经废弃。

      input与raw_input,input会假设用户输入的是合法的python表达式,如果输入字符串,需要加上“”(双引号),但raw_input会把所有的输入当作原始数据,然后将其放入字符串中。python3中已经将两个函数整合成一个input了,万岁,不用再区分这么个东东了,俺也大部分使用的是python3。

     ‘’‘(三个单引号)可以表示长字符串,字符串可以换行。

     原始字符串是以r开头的字符串,原始字符串不会把反斜杠当作特殊字符,在原始字符串中输入的每个字符都会与书写的方式保持一致。不能在原始字符串结尾输入反斜杠(除非使用转义,但是会当成两个反斜杠!!)。所以一种在最后接反斜杠的方法是:r"C:Programs\foo" '\\'.

      round(number[,ndigits]):根据给定的精度对数字进行四舍五入。

      空列表:[]

      None:内建值,可以用来初始化长度为n的列表,相当于占位,如[None]*n

      列表是可变的,字符串和元组是不可变的。

      列表方法:

      两个列表x, y,   x=y:会使x,y指向同一个列表,同时变化,如果要复制列表需要:x = y [ : ]

      list():将字符串转换为列表, ' '.join(somelist): 可以将somelist转换为字符串,但前提是somelist要是包含字符的列表!!

      append:在列表后追加新值,如果是一个列表,会将列表当成整个对象插入,而不是列表的值一个一个插入,如果是在列表后追加另一个列表需要使用extend

      count(val): 返回列表中含有几个val

      extend(list): 像列表的连接操作,使list连接在现有列表的后面, 可以一次性追加多个值

      index(val): 返回val在列表中的位置

      sort:  列表原位置排序,不返回值; sorted,是函数,不是列表的方法,使用sorted(x),列表作为参数,返回排序后的列表,sort可以将一个自定义的比较函数作为参数cmp,自定义比较规则,还有另外两个可选的参数,key,reverse, key与cmp类似,需提供一个在排序过程中使用的函数。该函数并不是直接用来确定对象的大小,而是为每个元素创建一个键,然后所有元素根据键来排序,如key=len,根据元素的长度来进行排序。reverse是简单的布尔值(true, false),用来指定列表是否要反向排序,reverse=True表示反响排序。

      remove(val):删除第一个等于val的值; reversed,也是函数,列表作为参数,返回一个迭代器,可以使用list将返回的对象转换成列表。list(reversed(x))

      pop():删除最后一个元素,且返回元素值

       元组:使用逗号(,)分割一些值就可以创建元祖。元组通过圆括号括气来。tuple(x):列表转换成元组。


       字符串:可不改变

       字符串格式化    s  % (x, y) , %右边的实际参数使用元组提供或字典。如果右操作数是元组的话,每个元素都会被单独格式化,每个值都需要一个转换说明符,且一定用括号括起来, 如‘ %s plus %s equals %s’   % (1, 1, 2)

      转换标志:-:左对齐,+:加上正负号;“”(空白字符):表示整数之前保留空格, 0:表示转换值若位不够用0填充

      最小字段宽度:指定宽度,如果是*,宽度从元组中读出

      点(.)后跟精度:如果转换的是实数,表示浮点数精度,如果转换的是字符串,数字表示最大字符宽(注意字符串的最小字符宽度),如果是*:精度从元祖中读出

      模板字符串:使用from string import Template, 以下为使用例子:

>>> s = Template('$x, glorious $x')
>>> s.substitute(x='slurm')
'slurm, glorious slurm'
>>> s = Template("It's ${x}tastic")
>>> s.substitute(x='slurm')
"It's slurmtastic"
>>> s = Template("Make $$ selling $x!")
>>> s.substitute(x='slurm')
'Make $ selling slurm!'
>>> s=Template('A $thing must never $action')
>>> d = {}
>>> d['thing']='gentleman'
>>> d['action']='show his socks'
>>> s.substitute(d)
'A gentleman must never show his socks'
        如上所示,如果替换字段是单词的一部分,参数名就必须用括号括起来,且可以使用字典变量提供值/名称对
        几个字符串方法:

        join: 在队列中添加元素,队列元素必须是字符串,split: 以某个字符分割字符串成为列表,默认使用空格做分割(空格,制表,换行)

>>> seq = ['1','2','3','4']
>>> '+'.join(seq)
'1+2+3+4'
>>> seq = '+'.join(seq)
>>> seq.split('+')
['1', '2', '3', '4']

         字典:无序

          k in d:检查d中是否有含有键为k的项,检查的是键。

          字典格式化,在每个转换说明符中的%后面,加上用圆括号括起来的键,格式化后,会被替换为键对应的值, "Cecil's phone number is %(cecil)s" % phonebook

          copy:浅复制,当替换副本中值,原字典不受影响,如果原地修改了副本的值,原字典改动,deepcopy: 深复制

你可能感兴趣的:(python基本数据结构)