发布于 2014-10-09 00:37:09 | 229 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Python3 官方中文指南,程序狗速度看过来!

Python编程语言

Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。


本文为大家讲解了python操作元组数据的方法,感兴趣的同学参考下.

tuple简介

1.元组是以圆括号“()”包围的数据集合,不同成员以“,”分隔。通过下标进行访问

2.不可变序列,可以看做不可变的列表,与列表不同:元组中数据一旦确立就不能改变(所以没有类似列表的增删改操作,只有基本序列操作)

3.支持任意类型,任意嵌套以及常见的序列操作

4.元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变

声明及使用


t = ()  #空元组
t =(1,)  #单个元素元组,注意逗号必须
t =(1,2,3)


1 in t #判断
2 not in t

#其他同序列基本操作:分片,索引
print t[0]
print t[-1]
print t[:2]

#不会对原来元组造成影响
print t+(4,5)  #返回新元组(1,2,3,4,5)
print t * 2    #(1,2,3,1,2,3)
t.index(1)
t.count(1)

#列表元组转换
l = [1,2,3]
lt = tuple(l)
tl = list(lt)
lt_sorted = sorted(l)  #对元组进行排序,返回是列表

#字符串转元组(得到字符元组序列)
print tuple('hello)   #('h','e','l','l','o')
tuple没有append/extend/remove/pop等增删改操作tuple没有find

 

查看帮助


help(tuple)

 

用途

1.赋值


t = 1,2,3   #等价 t = (1, 2, 3)
x, y, z = t   #序列拆封,要求左侧变量数目和右侧序列长度相等

 

2.函数多个返回值


def test():
    return (1,2)
x, y = test()

 

3.传参[强制不改变原始序列]


def print_list(l):
    t = tuple(l)   #或者t = l[:]
    dosomething()

 

4.字符串格式化


print '%s is %s years old' % ('tom', 20)

 

5.作为字典的key

优点
1.性能

tuple比列表操作速度快

若需要定义一个常量集,或者是只读序列,唯一的操作是不断遍历之,使用tuple代替list


>>> a = tuple(range(1000))
>>> b = range(1000)
>>> def test_t():
...     for i in a:
...             pass
...
>>> def test_l():
...     for i in b:
...             pass
...
>>> from timeit import Timer
>>> at = Timer("test_t()", "from __main__ import test_t")
>>> bt = Timer("test_l()", "from __main__ import test_l")

 

简单测试


>>> at.repeat(3, 100000)
[1.526214838027954, 1.5191287994384766, 1.5181210041046143]

 

>>> bt.repeat(3, 100000)
[1.5545141696929932, 1.557785987854004, 1.5511009693145752]

 

2.不可变性

对不需要的数据进行“写保护”,使代码更加安全

不可变性,若在程序中以列表形式传递对象集合,可能在任何地方被改变,使用元组,则不能

不可变性只适用于元组本身顶层而非其内容,例如元组内部的列表可以修改


l = [1,2,3]
t = (1,2,l)
l.append(4)

 

不可变性提供了某种完整性,规范化,确保不会被修改,保持某种固定关系

修改的方法


tuple -> list -> tuple

 



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务