大师兄

心有猛虎 , 细嗅蔷薇


  • 首页

  • 归档

  • 标签

  • 搜索

用pythonic的方法合并两个列表成一个字典

发表于 2017-09-05 | 阅读次数

两个列表长度相等

如下,两个长度相等的列表:

1
2
>>> keys = ['A', 'B', 'C']
>>> values = [1, 2, 3]

合并后的字典:

1
2
>>> d
{'A': 1, 'B': 2, 'C': 3}

阅读全文 »

在命令行中或程序代码中得到python版本号

发表于 2017-09-05 | 阅读次数

在命令行中

在命令行中通过python -V或是python --version得到python版本号。

1
2
3
4
5
6
7
8
9
root@revotu:~# python -V
Python 2.7.12
root@revotu:~# python --version
Python 2.7.12
root@revotu:~# python3 -V
Python 3.5.2
root@revotu:~# python3 --version
Python 3.5.2
root@revotu:~#

阅读全文 »

Python2和Python3中字典的keys()、values()、items()方法的区别

发表于 2017-09-05 | 阅读次数

区别

Python2字典有三个版本的keys、values、items方法。分别是:

列表版本:keys()、values()、items()
迭代器版本:iterkeys()、itervalues()、iteritems()
视图版本:viewkeys()、viewvalues()、viewitems()

Python3字典只有一个版本的keys、values、items方法。

视图版本:keys()、values()、items()

其他Python2中的iter系列和view系列方法都不存在。

阅读全文 »

三种pythonic的方法交换字典的键keys和值values

发表于 2017-09-05 | 阅读次数

方法一:字典推导式

1
2
3
4
5
>>> d = {'A' : 1, 'B' : 2, 'C' : 3}
>>> d1 = {v:k for k,v in d.items()}
>>> d1
{1: 'A', 2: 'B', 3: 'C'}
>>>
阅读全文 »

Python内置函数any和all的用法及示例

发表于 2017-09-05 | 阅读次数

any(iterable)

any(iterable)函数接受一个可迭代对象iterable作为参数,如果iterable中有元素为真值则返回True,否则返回False。如果iterable为空则返回False。

1
2
3
4
5
6
7
8
>>> any([1, 2, 3])
True
>>> any([1, 0, 0.0])
True
>>> any(['', 0, 0.0])
False
>>> any([])
False

阅读全文 »

Python用zip函数并行迭代两个或更多可迭代对象

发表于 2017-09-04 | 阅读次数

Python的内置zip函数能轻松地并行迭代两个或者更多可迭代对象,它返回的元组可以拆包成变量,分别对应各个并行输入中的一个元素。注意,Python2中zip函数返回的是列表,而在Python3中返回的是生成器。

阅读全文 »

Python用enumerate函数在遍历迭代器时获得元素的索引

发表于 2017-09-04 | 阅读次数

for循环可以遍历可迭代对象,得到的是每个元素的值,无法得到每个值所对应的索引下标,与内置的range函数结合,可以得到元素值的同时,得到其索引下标。后面将说明使用内置的enumerate函数才是解决这个问题的pythonic方法。

使用range函数遍历时得到索引

1
2
3
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
for i in range(len(seasons)):
print(i, seasons[i])

输出结果:

1
2
3
4
0 Spring
1 Summer
2 Fall
3 Winter

但是,上述代码有些生硬,我们必须获取列表长度,并且通过下标的方式访问每个元素,这种代码不便于理解。

阅读全文 »

全面剖析Python集合set的各方法及各操作的内部实现

发表于 2017-09-03 | 阅读次数

构造方法

1
2
3
4
5
6
7
class set(object):
"""
set() -> new empty set object
set(iterable) -> new set object
Build an unordered collection of unique elements.
"""

除了用字面量语法{1, 2, 3}创建集合,还可以用set()创建空集合,set(iterable)由可迭代对象创建集合。注意一点,创建空集合只能用set(),并没有相应字面量语法创建空集合(空列表[],空元组(),空字典{})。

阅读全文 »

全面剖析Python元组tuple的各方法及各操作的内部实现

发表于 2017-09-03 | 阅读次数

构造方法

1
2
3
4
5
6
7
class tuple(object):
"""
tuple() -> empty tuple
tuple(iterable) -> tuple initialized from iterable's items
If the argument is a tuple, the return value is the same object.
"""

除了字面量语法()构造元组,还可以通过tuple()创建空元组,tuple(iterable)由可迭代对象创建元组。示例如下:

阅读全文 »

全面剖析Python字典dict的各方法及各操作的内部实现

发表于 2017-09-03 | 阅读次数

构造方法

1
2
3
4
5
6
7
8
9
10
11
12
class dict(object):
"""
dict() -> new empty dictionary
dict(mapping) -> new dictionary initialized from a mapping object's
(key, value) pairs
dict(iterable) -> new dictionary initialized as if via:
d = {}
for k, v in iterable:
d[k] = v
dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)
"""
阅读全文 »
1234…10
大师兄

大师兄

心有猛虎,细嗅蔷薇

94 日志
31 标签
© 2017 大师兄

备案:京ICP备17054041号

由 Hexo 强力驱动
主题 - NexT.Muse
    |           |