python623 发表于 2017-06-23 格式输出与列表123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146格式输出%d 整数%f 浮点数%s 字符串%x 十六进制整数print 'whoami %d' %(1) #这个是整数1whoami 1print 'whoami %s' %('1') #这个是字符1whoami 1print 'whoami %f' % 1.00 这个是浮点1whoami 1.000000print 'whoami %x' %(1) 这个是十六进制整数1whoami 1list 列表定义并循环输出列表>>> whoami = ['diyi','dier','laosan']>>> whoami>>> for i in whoami:... print i...diyidierlaosan输出定位元素>>> whoami[0]'diyi'>>> whoami[2]'laosan'>>> whoami[1]'dier'>>> whoami[3]Traceback (most recent call last): File "<stdin>", line 1, in <module>IndexError: list index out of range>>> len(whoami)3>>> whoami[len(whoami)-1]'laosan'添加元素>>> whoami.append('xiaosi')>>> whoami['diyi', 'dier', 'laosan', 'xiaosi']插入元素>>> whoami.insert(2,'whoami')>>> whoami['diyi', 'dier', 'whoami', 'laosan', 'xiaosi']修改元素>>> whoami[2] = 'gai'>>> whoami['diyi', 'dier', 'gai', 'laosan', 'xiaosi']删除末尾元素>>> whoami.pop()'test'>>> whoami['diyi', 'dier', 'gai', 'laosan', 'xiaosi']删除指定元素>>> whoami.pop(2)'gai'>>> whoami['diyi', 'dier', 'laosan', 'xiaosi']嵌套取值>>> cn = whoami>>> mingzi = [cn,'en']>>> mingzi[0][2]'laosan'元组 tuple 元组中的值是不可变的 无法增删改>>> yuanzu = ('1','2','3')>>> yuanzu('1', '2', '3')>>> for i in yuanzu:... print i...123>>> yuanzu[0]'1'>>> yuanzu[0] = '2333'Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment单一元组的时候必须加,来消除歧义,否则会误解为数学计算中的小括号>>> t=(1)>>> t1>>> t=(1,)>>> t(1,)>>> type(t)<type 'tuple'>>>> t =(1)>>> type(t)<type 'int'>tuple中有变量的时候,指向不变,但是有列表时就可以变化变量不变>>> z = 'a'>>> t = ('1','2',z)>>> t('1', '2', 'a')>>> z= 'b'>>> t('1', '2', 'a')列表变>>> t = ('1','2',['1','2'])>>> t('1', '2', ['1', '2'])>>> t[2][1] = '3'>>> t('1', '2', ['1', '3'])格式转换------------------------------找到一个好东西int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(real [,imag ]) 创建一个复数 str(x ) 将对象 x 转换为字符串 repr(x ) 将对象 x 转换为表达式字符串 eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s ) 将序列 s 转换为一个元组 list(s ) 将序列 s 转换为一个列表 chr(x ) 将一个整数转换为一个字符 unichr(x ) 将一个整数转换为Unicode字符 ord(x ) 将一个字符转换为它的整数值 hex(x ) 将一个整数转换为一个十六进制字符串 oct(x ) 将一个整数转换为一个八进制字符串 python 的 条件判断与循环1234567891011121314151617181920212223242526272829303132333435与其它程序没有什么不同#-*- coding:utf-8 -*-a = int(raw_input('a='))#print type(a)if a > 0: print '世界爆炸'elif a == 0: print '世界战争'else: print '世界和平'for循环 for i in list: print i最经典的累加sum = 0for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + xprint sum5050累加sum = 0for x in range(101): sum = sum + xprint sum奇数和的计算 while 的使用sum = 0n = 99while n > 0: sum = sum + n n = n - 2print sum 字典 dict123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117一个key只能对应一个valuedict的key必须是不可变对象。dict有以下几个特点:查找和插入的速度极快,不会随着key的增加而增加;需要占用大量的内存,内存浪费多。而list相反:查找和插入的时间随着元素的增加而增加;占用空间小,浪费内存很少。所以,dict是用空间来换取时间的一种方法。set字典中key是可以相同的,set的key却是不同的,但set不储存valueset和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。重复元素会被过滤掉>>> s = set([1,1,1,1,1,1,1,1,22,2,2,2,2,2,3])>>> sset([1, 2, 3, 22])>>>通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:s.add(4)>>> s.add(5)>>> sset([1, 2, 3, 5, 22])set其实是无序的>>> s.add('234234')>>> sset([1, 2, 3, 5, 22, '234234'])>>>>>> s.add(0) 添加0>>> sset([0, 1, 2, 3, 5, 22, '234234'])>>> s.add('') 添加空字符串>>> sset([0, 1, 2, 3, 5, '', 22, '234234'])>>>>>> s.add() 添加空值是不可以的Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: add() takes exactly one argument (0 given)s.remove(1)>>> s.remove(1) 删除元素,但是remove的值必须存在 >>> sset([0, 2, 3, 5, '', 22, '234234'])使用 discard 删除的话,.discard(obj)中的obj如果是set中的元素,就删除,如果不是,就什么也不做>>> sset(['a', 2, 3, 5, '', 7, 22, '234234', 989])>>> s.discard(234234234324)>>> sset(['a', 2, 3, 5, '', 7, 22, '234234', 989])>>> s.discard(22)>>> sset(['a', 2, 3, 5, '', 7, '234234', 989])set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:set([0, 2, 3, 5, '', 22, '234234'])>>> s.add(7)>>> sset([0, 2, 3, 5, '', 7, 22, '234234'])>>> s.add(989)>>> sset([0, 2, 3, 5, '', 7, 22, '234234', 989])>>> s.add('a')>>> sset([0, 'a', 2, 3, 5, '', 7, 22, '234234', 989])>>>>>> sset([0, 'a', 2, 3, 5, '', 7, 22, '234234', 989])>>> b =set([2333,2,3,5,7])>>> s&bset([2, 3, 5, 7])>>> s |bset([0, 'a', 2, 3, 5, '', 7, 2333, 22, '234234', 989])>>> s1 = set("qiwsir")>>> s1 自动拆分字符set(['q', 'i', 's', 'r', 'w']) set.pop()是从set中任意选一个元素,删除并将这个值返回.但是,不能指定删除某个元素.从另外一个set中合并过来元素 使用 set.update update只能用于增加字符串 ,用于整数等类型就会报错>>> s1.update('whoami')>>> s1set(['a', 'i', 'h', 'm', 'o', 'q', 's', 'r', 'w'])set 最常用的地方应该就是交并集合 ,比较,或者统计了set.clear(),清空