Chinaunix首页 | 论坛 | 博客
  • 博客访问: 62845
  • 博文数量: 58
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 69
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-02 18:31
个人简介

别吵,安静

文章分类
文章存档

2014年(58)

我的朋友

分类: 系统运维

2014-12-02 18:45:08

原文地址:自学python,day3 作者:月色书香

day3内容:
--->函数   
--->Pickle序列化 
--->正则表达式  
--->创建使用模块 
--->练习程序  

====================day2拾遗1枚举============================
Enumerate枚举
import string
s = string.ascii_lowercase
e = enumerate(s)
print s
print list(e)
enumerate 在循环的同时可以访问到当前的索引值。
L = ['a','b','c','d']

for (offset,item) in enumerate(L):
  print item,'appears at offset:',offset

##############################################################
-------------------------------------------------------------------
例:原始打印
>>> for i in 'abc':
...  print i
...
a
b
c
>>>
--------------------------------------------------------------------
枚举打印

>>> for i in enumerate('abc'):    #返回对应的索引值
...  print i
...
(0, 'a')
(1, 'b')
(2, 'c')
>>>

>>> L = ['a','b','c','d']
>>> for (offset,item) in enumerate(L):
...   print item,'appears at offset:',offset
...
a appears at offset: 0
b appears at offset: 1
c appears at offset: 2
d appears at offset: 3
--------------------------------------------------------------------
####################################################################

=======================day2拾遗2-集合================================
1、python中的SET集合操作
2、python的set和其他语言类似,是一个无序不重复元素集,基本功能包括
关系测试和消除重复元素,集合对象还支持union(联合),intersection(交),
difference(差)和sysmmetric_difference(对称差集)等数学运算。
3、sets支持x in set,len(set),和for x in set 、作为一个无序的集合,
sets不记录元素位置或者插入点。因此,sets不支持indexing,slicing,或
其他类序列(squence-like)的操作。
#####################################################################
例:
----------------------------------------------
set去重:
>>> a = [1,2,3,1,2,3]
>>> set(a)
set([1, 2, 3])
>>>
----------------------------------------------
>>> a = [1,2,3,4]
>>> b = [3,4,5,6]
>>> a = set(a)
>>> b = set(b)
>>> a,b
(set([1, 2, 3, 4]), set([3, 4, 5, 6]))
----------------------------------------------
>>> a & b      --->交集
set([3, 4])
>>> a.intersection(b)
set([3, 4])
>>>
----------------------------------------------
>>> a.union(b)
set([1, 2, 3, 4, 5, 6])   --->联合(并集)
>>> a | b
set([1, 2, 3, 4, 5, 6])
>>>
----------------------------------------------
>>> a ^ b      --->对称差集
set([1, 2, 5, 6])
>>> a.symmetric_difference(b)
set([1, 2, 5, 6])
>>>
----------------------------------------------
>>> a - b      --->差集
set([1, 2])
>>> a.difference(b)
set([1, 2])
>>>
----------------------------------------------
>>> a.add('gaofubin')   --->集合添加(用add而不是append)
>>> a
set([1, 2, 3, 4, 'gaofubin'])
>>> a.remove('gaofubin')
>>> a
set([1, 2, 3, 4])
>>>
>>> a.update(b)     --->添加多个
>>> a
set([1, 2, 3, 4, 5, 6])
>>>
>>> a,b
(set([1, 2, 3, 4, 5, 6]), set([3, 4, 5, 6]))
>>>
>>> a.issubset(b)  --->判断a是否在b中
False
>>> b.issubset(a)  --->判断b是否在a中
True
>>>
>>> a.remove('gaofubin') --->如果不存在会报错,discard则不会
Traceback (most recent call last):
  File "", line 1, in
KeyError: 'gaofubin'
>>> a.discard('gaofubin')
>>>

----------------------------------------------
>>> [1,2,3] == [1,2,3]
True
>>> [1,2,3] == [1,3,2]
False
>>> set ([1,2,3]) == set([1,3,2])
True        >>>证明集合是无序的
----------------------------------------------

=======================day2拾遗3================================
#######################################################################
zip拉链
使用zip函数可以把两个列表合并起来,成为一个元组的列表。
L1 = [1,3,5,7]
L2 = [2,4,6,8]
使用zip将两个列表合并
>>> L1 = [1,3,5,7]
>>> L2 = [2,4,6,8]
>>> print zip(L1,L2)
[(1, 2), (3, 4), (5, 6), (7, 8)]
>>> for (a,b) in zip(L1,L2):
...  print a,b
...
1 2
3 4
5 6
7 8
>>>
当长度不一的时候,多余的被忽略
>>> L1 = [1,3,5,7]
>>> L2 = [2,4,6]
>>> zip(L1,L2)
[(1, 2), (3, 4), (5, 6)]
map则不会忽略,当长度不一样,会用第一个填充
>>> print map(None,L1,L2)
[(1, 2), (3, 4), (5, 6), (7, None)]
>>>
使用zip造字典
keys = ['name','age']
values = ['gaofubin',23]
print dict(zip(keys,values))

map例子:
#!/usr/bin/env python
def square2(x):
 return x * x


a=[1,2,3,4,5]
print a
print map(square2,a)

[root@locojoy account]# python ma.py
[1, 2, 3, 4, 5]
[1, 4, 9, 16, 25]

阅读(420) | 评论(0) | 转发(0) |
0

上一篇:自学python,day1

下一篇:tar

给主人留下些什么吧!~~