0%

Python/Python小技巧

技巧

sorted()方法——可用于给字符串排序,通常是按照字母表的顺序

1
2
3
4
5
6
7
8
a = "fadsfga"
print(sorted(a))

"""输出结果:
['a', 'a', 'd', 'f', 'f', 'g', 's']


"""

count()方法

1
2
3
4
5
6
7
a = 'fnsadfgdsgsadfdsa'
b = a.count('f')
print(b)
"""
输出结果:
3
"""

ord()函数

1
2
3
4
5
6
7
8
9
10
## ord()函数# ord() 函数以一个字符作为参数,返回参数对应的 ASCII 数值,便于和后面捕捉的键位关联

print(ord('a'))
print(ord('A'))

"""
输出结果:
97
65
"""

二元、三元表达式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
## 二元表达式

init = 1

number = 100 if init else 0

print(number)

##三元表达
wide= -1

new_w = 299 if wide>0 else 'sdf' if wide==0 else 28
print(new_w)
"""
输出结果

100
28
"""

randrange——获取指定范围内的随机数

1
2
3
## randrange---给定一个范围,获取范围之内的随机数
import random
print(random.randrange(100))

enumerate()函数

1
2
3
4
5
6
7
8
'''enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,
'''
names = 'chenqiaochu'
for key, value in enumerate(names):
print(key,value)

'''output:
'''

小知识

Python不能直接将包含小数点的字符串’1127437398.85751’ 转换为整数

关于字典键值对的输入

1
2
3
4
5
6
7
a = {'name' : '重庆','mather' : 'China' }
for key in a.keys():
print(key, a[key])
'''输出结果:
name 重庆
mather China
'''

关于字典

键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。

字典内置函数总结:

1.cmp(dict1,dict2):比较两个元素

(比较方法见:)

https://blog.csdn.net/b_11111/article/details/52830590

2.len()计算字典元素个数,即键的总数

3.str()输出字典可打印的字符串表示

4.type返回变量的类型,如果变量是字典就返回字典类型

字典内置方法总结:

1.clear删除字典内的所有元素

2.copy返回一个字典的浅复制

3.fromkeys(sep,[,val]):创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

4.get(key)返回指定键的值,如果值不在字典中就返回None

5.has_key(key)如果键在字典dict中返回true,否则返回flase

6.items:以列表返回可遍历的(键值对)元组数组

7.keys:以列表返回一个字典所有的键

8.values:以列表返回字典中的所有值

9.update(dice2):把字典dict2中键值对更新到dict中

10.pop:删除给定键key所对应的值,也一同删除了键,返回值为被删除的值

11.popitem:返回并删除字典中最后一对键和值

用字典中的元素创建一个新的字典

1
2
3
4
5
6
7
8
9
10
11
12
dicts = {}
dicts['first'] = "china"
dicts['lover'] = 'chongqing'
# 用列表中的元素重新创建一个新列表
dicts1 = {}
print(dicts['first'])
dicts1 = {'a':dicts['first'],'b':dicts['lover']}
print(dicts1)
'''
输出结果:
{'a': 'chenqiaochu', 'b': 'leibowen'}
'''

变量可以指向函数

1
2
3
4
5
6
f = abs
print(f(-100))
"""
输出结果:
100
"""

函数名其实就是指向函数的变

1
2
3
4
5
6
7
8
9
10
11
12
13
14
abs =10
print(abs)
print(abs(-200))

"""
输出结果:
10
Traceback (most recent call last):
File "/Users/bowenkei/Desktop/Python/项目2-数据可视化/test.py", line 3, in <module>
print(abs(-200))
TypeError: 'int' object is not callable

"""
# 有结果可以看出,此时abs已经失去了原有函数的意思了

传入函数

既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
# 最简单的高阶函数
# 一个最简单的高阶函数
def add(x,y,f):
return (f(x)+f(y))


print(add(500,20,abs))

"""
输出结果:
520

"""

编写高阶函数,就是让函数的参数能够接收别的函数。

把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。

字符串操作

capitalize()函数 - 将字符串改为首位大写其余小写

title()函数 - 将字符串改为每个单词都是首字母大写其余小写份形式