实际案例:统计每场都有进球的球员
如下: 字典中的键为球员名字, 值为进球数

In [22]: s1
Out[22]: {'a': 4, 'b': 3, 'e': 3, 'f': 4}

In [23]: s2
Out[23]: {'a': 4, 'b': 2, 'c': 3, 'd': 1, 'e': 1, 'f': 3}

In [24]: s3
Out[24]: {'b': 3, 'd': 4, 'f': 3}

思路:
转化成集合求交集的问题,
利用字典的viewkeys()函数获取字典的所有键(其返回值类似于集合)。

code:

In [33]: s1.viewkeys() & s2.viewkeys() & s3.viewkeys()
Out[33]: {'b', 'f'}

- 阅读剩余部分 -

以下字典代表6位不同同学的分数,如何根据分数给同学排名字:

 d = {'a': 73, 'b': 69, 'c': 66, 'x': 76, 'y': 88, 'z': 83}

方法一:
思路:
将字典转换成数组, sorted函数可以对数组进行排序,但是sorted 函数是先排数据第一个元素再第二个元素,因此需要把字典的值放在键的前面,字典如何转换成数组?使用zip函数。
code:

In [10]: sorted(zip(d.itervalues(), d.iterkeys()))
Out[10]: [(66, 'c'), (69, 'b'), (73, 'a'), (76, 'x'), (83, 'z'), (88, 'y')]

- 阅读剩余部分 -

centos 通常自带的yum源提供的各种软件包都是比较老的版本, 如果想用yum安装最新的软件,推荐第三源ius

sudo yum install https://centos7.iuscommunity.org/ius-release.rpm  # 安装源

# 查询目标软件
yum list git git\*u   # ius 通常会在高版本的软件名后面+‘u’

已安装的软件包
git2u.x86_64                    2.16.5-1.ius.centos7                     @ius   
可安装的软件包
git.x86_64                      1.8.3.1-14.el7_5                         updates

# 如果你已经装有低版本的git,你需要先remove (否则安装的时候会报错)
yum remove git

# 安装
yum install git2u  # 将安装2.0以上版本的git 

- 阅读剩余部分 -

前段时间,开发一个新功能, 纠结了很久在于下拉框插件的选择,最后实现核心功能的时候发现,由于核心功能的一些展现问题,根本用不到下拉框。

先开发核心功能, 一些核心功能的变动可能会引起周边功能的裁剪变动,如果核心功能实现不了, 或者实现起来没什么意义,周边功能也不需要实现,

软件功能开发复杂,有些时候不走到那一步,真很难看到实际情况的需要,

所以说,尽快发现那种和预想不一样的, 以及尽快想出办法变动。
软件开发, 有点像在茂盛的丛林中行走, 你只知道目的地的大概方位, 知道总体是往哪个方向走, 但是是没有现成的路, 你只能顺着方向前进, 有大的障碍你可以绕过, 所以你的做法因该是花少的代价尽快走通这么一条路, 确认这条路时可以通向目的地的,然后在扩建整修这条路, 而不是, 还没走通之前(核心功能实现之前),花大力起修缮周边。

测试驱动开发, 等等都是尽快的让你发现有可能阻碍核心功能实现的障碍,得以及时变动。

开发人员应该了解需求, 边开发边设计, 有点边走边瞧,也是为了有障碍的时候能及时灵活变动。