python拾遗(二)

21、python list 列表中可以用的swap方法
mylist[i], mylist[j] = mylist[j], mylist[i]
这样就可以swap两个元素了
还有
a ^= b
b ^= a
a ^= b
22、python取整及保留小数

#encoding:utf-8
import math
#向上取整
print math.ceil(2.6)
3.0
#向下取整
print math.floor(2.6)
2.0
#四舍五入
print round(2.6)
3.0
#这三个的返回结果都是浮点型

#将a保留到小数点后n位
round(a, n)
print(3.1415926, 3)
3.142

23、Python拷贝(深拷贝deepcopy与浅拷贝copy)
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。
a、copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。
b、copy.deepcopy 深拷贝 拷贝对象及其子对象

>>> import copy
>>> a = [1,2,3,4,['a','b']]  #原始对象

>>> b = a  #赋值,传对象的引用

>>> c = copy.copy(a)

>>> d = copy.deepcopy(a)

>>> a.append(5)
>>> a[4].append('c')

>>> print 'a=',a
a= [1, 2, 3, 4, ['a', 'b', 'c'], 5]
>>> print 'b=',b
b= [1, 2, 3, 4, ['a', 'b', 'c'], 5]
>>> print 'c=',c
c= [1, 2, 3, 4, ['a', 'b', 'c']]
>>> print 'd=',d
d= [1, 2, 3, 4, ['a', 'b']]

24.python 预先初始化列表的内容与长度
法1:
用法:[value] * len
value 为初始值,len 为初始长度。

>>>a = [False] * 5
#a = [False, False, False, False, False] 
>>>b = [None] * 5
#b = [None, None, None, None, None]
>>>c = [5] * 5
#c = [5, 5, 5, 5, 5]

法2:
b=list(range(10))
print(b)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
法3:
c=[i for i in range(10) if i%2==0 and i<8]
print©
[0, 2, 4, 6]
25.跳出循环
continue 跳出当前循环,进入下一循环。
break 中止for,while循环
26.列表的扩展
两个列表相加,相当于list.extend(list)
实例:

>>>[1] + [2, 1]
[1, 2, 1]

>>>a = [1]
>>>b = [2, 1]
>>>a+b
[1, 2, 1]
>>>a.extend(b)
[1, 2, 1]

27.Python中有三个去除头尾字符、空白符的函数,它们依次为:
strip: 用来去除头尾字符、空白符(包括\n、\r、\t、’ ‘,即:换行、回车、制表符、空格)
lstrip:用来去除开头字符、空白符(包括\n、\r、\t、’ ‘,即:换行、回车、制表符、空格)
rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、’ ',即:换行、回车、制表符、空格)
28、用python实现排列组合功能

#(1)组合:
import itertools
list1 = 'abc'
list2 = []
for i in range(1,len(list1)+1):
     iter = itertools.combinations(list1,i)
     list2.append(list(iter))
print(list2)
#打印后的结果:
#[[('a',), ('b',), ('c',)], [('a', 'b'), ('a', 'c'), ('b', 'c')], [('a', 'b', 'c')]]
#(2)排列
import itertools
list1 = 'abc'
list2 = []
for i in range(1,len(list1)+1):
     iter = itertools.permutations(list1,i)
     list2.append(list(iter))
print(list2)
#打印出来的结果是:
#[[('a',), ('b',), ('c',)], [('a', 'b'), ('a', 'c'), ('b', 'a'), ('b', 'c'), ('c', 'a'), ('c', 'b')], [('a', 'b', 'c'), ('a', 'c', 'b'), ('b', 'a', 'c'), ('b', 'c', 'a'), ('c', 'a', 'b'), ('c', 'b', 'a')]]

29.xrange() 函数用法与 range 完全相同,所不同的是生成的不是一个数组,而是一个生成器。

>>>xrange(8)
xrange(8)
>>> list(xrange(8))
[0, 1, 2, 3, 4, 5, 6, 7]
>>> range(8)                 # range 使用
[0, 1, 2, 3, 4, 5, 6, 7]

0的0次幂等于1 0**0 == 1

30、当执行try有异常的时候,会执行except,然后执行finally,else不会执行。只有执行try 没有异常的时候才会执行else,然后是finally.

a = 1
try:     
    a += 1
expect:     
    a += 1
else:     
    a += 1
finally:     
    a += 1
print a 
# a = 4

31、python逻辑运算符
下列代码运行结果是 ‘c’
a = ‘a’
print a > ‘b’ or ‘c’
这里写图片描述
32
这里写图片描述
33、列表增删元素
增加元素:
list.append(单个元素):在list列表末端增加一个元素;
list.extend([元素1,元素2]):在list列表末端增加多个元素;
list.insert(元素序号,元素):在list列表任意位置增加一个元素
删除元素:
list.remove(元素):从列表中删除一个元素,且并不要求此元素的位置(一般为第一次出现的位置);
del.list[元素序号]:从列表中删除指定位置的元素;
list_0 = list.pop(元素):从列表中弹出一个元素,则list列表中少一个元素;
list_0 = list.pop(元素序号):从列表中指定弹出一个元素,则list列表中少一个元素。
34、python中ASCLL码字符相互转换
ASCLL码:a-z :97-122,A-Z : 65-90 (0-9:48-57)
字符转换ASCLL码:num = ord(char)
ASCLL码转换字符:char = chr(num)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值