range() 函数可创建一个整数列表,一般用在 for 循环中。
语法:
range(start, stop[, step])
实例:
>>>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)
[]
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
语法:
enumerate(sequence, [start=0])
返回值:
返回 enumerate(枚举) 对象。
实例:
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>>list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>>list(enumerate(seasons, start=1)) # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
>>>seq = ['one', 'two', 'three']
>>>for i, element in enumerate(seq):
... print(i, element)
[0 one]
[1 two]
[2 three]
sorted() 函数对所有可迭代的对象进行排序操作。
语法:
sorted(iterable, key=None, reverse=False)
返回值:
返回排序后的列表。
实例:
>>>sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5] # 默认为升序
# 对字典进行排序
dic = {1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'}
>>>sorted(dic) # sorted函数默认根据字典的key对其排序,同时只取key的内容,并以列表的形式返回。
[1, 2, 3, 4, 5]
# 按key进行排序
>>>sorted(dic.keys())
[1, 2, 3, 4, 5] # 只取key的内容,并以列表的形式返回
>>>sorted(dic.items(),key=lambda x: x[0])
[(1, 'D'), (2, 'B'), (3, 'B'), (4, 'E'), (5, 'A')]
# 按value进行排序
>>>sorted(dic.values())
['A', 'B', 'B', 'D', 'E'] # 只取value的内容,并以列表的形式返回
>>>sorted(dic.items(),key=lambda x: x[1])
[(5, 'A'), (2, 'B'), (3, 'B'), (1, 'D'), (4, 'E')]
# 利用key进行倒序排序
>>>list = [5, 0, 6, 1, 2, 7, 3, 4]
>>>result_list = sorted(list, key=lambda x:x*-1) # 将列表中的元素按自身相反数从小到大进行排序
[7, 6, 5, 4, 3, 2, 1, 0]
# 逆序排列
>>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
>>>sorted(example_list, reverse=True)
[7, 6, 5, 4, 3, 2, 1, 0]
sort()与sorted()区别:
python 使用 lambda 来创建匿名函数。
语法:
lambda [arg1 [,arg2,.....argn]]:expression
冒号前为形参,冒号后为返回值。
sum = lambda arg1, arg2: arg1 + arg2
print("相加后的值为:",sum(10,20))
# 表示函数没参数,只返回一个100
func1 = lambda :100
# 可以传递万能参数
func3 = lambda *args,**kwargs:len(args)+len(kwargs)
print(func3(1,2,3,wdc=123))
# lambda 表达式和三元运算的结合:输出两个值中的最大值
func = lambda a1,a2:a1 if a1 > a2 else a2
print(func(1,5))
# lambda表达式也可以放在列表中
func_list = [lambda x:x.strip(),lambda y:y+100,lambda x,y:x+y]
v1 = func_list[0]('wdc ')
print(v1) # 把末尾空格去掉了
v2 = func_list[1](100)
print(v2)
v3 = func_list[2](1,2)
print(v3)
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
语法:
str.strip([chars])
参数:
返回值:
返回移除字符串首尾指定的字符生成的新字符串。不改变原有字符串。
>>>str = "000987000"
>>>result = str.strip('0')
>>>print(str) # 去除首尾字符 0
000987000
>>>print(result)
>>>987
>>>str2 = " Runoob "; # 去除首尾空格
>>>print(str2.strip())
Runoob