seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
print i, element
0 one
1 two
2 three
# 带条件按下标删除用pop
list_a = [1,2,3,4,2]
for i,v in enumerate(list_a):
if i == 2 or i == 3:
list_a.pop(i)
print list_a
# 带条件按值删除用remove
for i,v in enumerate(list_a):
if v == 2:
list_a.remove(v)
print list_a
# 全部删除,list_a[:]python为切片列表创建了新对象, 迭代副本
for index, item in enumerate(list_a[:]):
list_a.remove(item)
print(list_a)
print eval("9+9")
18
isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
a = 2
isinstance (a,int)
True
isinstance (a,str)
False
isinstance (a,(str,int,list)) # 是元组中的一个返回 True
True
import math
math.pow(3,2)
9.0
pow(3,2)
9
sum([0,1,2])
3
sum((2, 3, 4), 1) # 元组计算总和后再加 1
10
sum([0,1,2,3,4], 2) # 列表计算总和后再加 2
12
print "abs(-45) : ", abs(-45)
print "abs(100.12) : ", abs(100.12)
print "abs(119L) : ", abs(119L)
abs(-45) : 45
abs(100.12) : 100.12
abs(119L) : 119
print "abs(-45) : ", abs(-45)
print "abs(100.12) : ", abs(100.12)
print "abs(119L) : ", abs(119L)
abs(-45) : 45
abs(100.12) : 100.12
abs(119L) : 119
print raw_input("输入:")
print input("输入:")
输入:eval('9+9')
eval('9+9')
输入:eval('9+9')
18
name : 一个包含了你要访问的文件名称的字符串值。
mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。
buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
open("test.txt", "w+", "0")
class C(object):
@staticmethod
def f():
print('runoob');
C.f(); # 静态方法无需实例化
cobj = C()
cobj.f() # 也可以实例化后调用
issubclass(B,A)
def is_odd(n):
return n % 2 == 1
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
str = "runoob"
len(str) # 字符串长度
6
l = [1,2,3,4,5]
len(l) # 列表元素个数
5
>>>range(10) # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11) # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5) # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3) # 步长为 3
[0, 3, 6, 9]
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]
>>>x = 'runoob'
>>> for i in range(len(x)) :
... print(x[i])
str = "runoob"
len(str) # 字符串长度
6
l = [1,2,3,4,5]
len(l) # 列表元素个数
5
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的
def add(x,y):
return x + y
sum1 = reduce(add, [1,2,3,4,5]) # 计算列表和:1+2+3+4+5
sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5]) # 使用 lambda 匿名函数
print(sum1)
print(sum2)
15
15
>>> def square(x) : # 计算平方数
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # 计算列表各个元素的平方
cmp(80, 100) : -1
cmp(180, 100) : 1
cmp(-80, 100) : -1
cmp(80, -100) : 1
max(80, 100, 1000) : 1000
max(-20, 100, 400) : 400
max(-80, -20, -10) : -10
max(0, 100, -400) : 100
min(0, 100, -400) : -400
aList = [123, 'xyz', 'zara', 'abc', 'xyz']
aList.reverse()
print "List : ", aList
List : ['xyz', 'abc', 'zara', 'xyz', 123]
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]
x – 数值表达式。
n – 数值表达式,表示从小数点位数。从下标0开始,如果不填写n默认为0
print "round(80.25456, 0) : ", round(80.25456, 0)
print "round(80.25456, 1) : ", round(80.25456, 1)
print "round(80.25456, 2) : ", round(80.25456, 2)
round(80.25456, 0) : 80.0
round(80.25456, 1) : 80.3
round(80.25456, 3) : 80.25
x = set('runoob')
y = set('google')
print x, y
print x & y # 交集
print x | y # 并集
print x - y # 差集
set(['b', 'r', 'u', 'o', 'n']) set(['e', 'o', 'g', 'l'])
set(['o'])
set(['b', 'e', 'g', 'l', 'o', 'n', 'r', 'u'])
set(['r', 'b', 'u', 'n'])
>>>dict() # 创建空字典
{}
>>> dict(a='a', b='b', t='t') # 传入关键字
{'a': 'a', 'b': 'b', 't': 't'}
>>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
>>> dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
class slice(stop)
class slice(start, stop[, step])
start – 起始位置
stop – 结束位置
step – 间距
>>> arr = range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> arr[slice(5)] # 截取 5 个元素
[0, 1, 2, 3, 4]
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
L = [('b',1),('a',2),('c',1),('d',4)]
print sorted(L, cmp=lambda x,y:cmp(x[0],y[0])) # 利用cmp函数,比较每个元组下标为0的值来进行排序
print sorted(L, key=lambda x:x[1]) # 利用key,按每个元组下表为1的值排序
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
print sorted(students, key=lambda x: x[2],reverse=True) # 按年龄排序,reverse=True降序,reverse=False升序,默认为升序