相信大家在工作中,会有一些头大的需求,特点是:一次性,稍微有点复杂,手工也能弄完。用 Java 写吧太笨重,代码多,不用 Java 写手工搞吧,痛不欲生。
比如下面的需求:
-
一个新的算法实现了,需要验证效果,造一些数据到数据库里跑;
-
自动生成一些数据库的表结构,批量在其他关系型数据库建表;
-
封装一些 shell 脚本;
这三个需求使用 Java 都不太合适,连接数据库需要写个 JDBC,或者得使用第三方的框架,Jfinal 或者 Mybatis,那就得配个 Maven 环境,IDEA 环境,痛不欲生啊。
推荐一门脚本语言,Python,我非常喜欢,易上手,表达能力强,语法简洁,学好了以后还可以做高级的机器学习/深度学习,入行 AI 等。
关于 Python 的环境配置,会单独一篇文章来讲,今天主要分享一下 Python 的数据结构。
列表 - List
创建一个列表,只需要把元素以逗号隔开,使用方括号括起来即可,列表的元素可以是不同的类型,也可以重复
my_list1 = [1, 2, 3, 4, 5]
my_list2 = ['hello', True, 1, 2, 3]
访问列表中的值,使用方括号里面加索引即可,索引是从0开始的。
下面 [1:4] 是切片的写法,含头不含尾,意思是从下标是第1个元素开始到下标第3个元素结束;[:4] 表示从下标第0个元素开始到下标第3个元素结束。
my_list1 = [1, 2, 3, 4, 5]
my_list2 = ['hello', True, 1, 2, 3]
print(my_list1[0])
print(my_list2[1:4])
print(my_list2[:3])
更新列表,使用 append 来往末尾新增,使用下标来更新某个元素
## 空列表
list = []
## 使用 append() 添加元素
list.append('Google')
list.append('Runoob')
print(list)
# 修改下标为0的元素为2
list[0] = 2
print(list)
查看列表长度
## 空列表
print(len(list))
集合 - set
集合的元素是不可以重复的
创建一个 set,使用大括号或者 set() 可以直接创建,如下
# 创建一个集合
my_set = {1, 2, 3}
print(my_set)
# 创建一个空集合,添加元素进去
my_set = set()
my_set.add(1)
my_set.add(2)
print(my_set)
判断元素是否在集合内
print(1 in my_set)
移除一个元素
my_set.remove(1)
求两个集合的交集
my_set = {1, 2, 3}
my_set1 = {2, 3, 4}
print(my_set & my_set1)
字典
字典类似 Java 中的 Map,用来存储键值对
创建一个字典,使用大括号
my_dict = {"1": 1, "3": 5, 'my': 12}
访问字典的值,使用方括号加键值
my_dict = {"1": 1, "3": 5, 'my': 12}
print(my_dict['1'])
修改字典的值
my_dict['1'] = 34
遍历字典,使用字典的 items 方法
for k,v in my_dict.items():
print(k, v)
这是数据结构的基础用法了,有了这些基础,就可以实现基本需求了。
当然我们还需要 使用 python 其他包配合完成更加复杂的需求,例如使用 pymysql 连接 mysql 数据库,使用 内置的 i/o 读取文件,使用 requests 库来访问 互联网网页和接口。更多的功能会持续更新哟。