【和我一起学python吧】python的数据类型

python的元组、列表、字典数据类型是很python(there python is a adjective )的数据结构。这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益处。

元组

         个人认为就像java的数组,python中的元组有以下特性:

  • 任意对象的有序集合,这条没啥说的,数组的同性;
  • 通过偏移读取;
  • 一旦生成,不可改变;
  • 固定长度,支持嵌套

来例子吧:

python 代码

  1. >>> (0, ‘haha‘, (4j, ‘y‘))
  2. (0, ‘haha‘, (4j, ‘y‘))
  3. >>> t = (1, 3, ‘b‘)
  4. >>> t[2]
  5. ‘b‘
  6. >>> t[3]
  7. Traceback (most recent call last):
  8. File "#41>", line 1, in <module></module>
  9. t[3]
  10. IndexError :  tuple   index  out of  range
  11. >>> t[-1]
  12. ‘b‘
  13. >>> t[0:-1]
  14. (1, 3)
  15. >>> t * 2
  16. (1, 3, ‘b‘, 1, 3, ‘b‘)
  17. >>>  for  x  in  t:
  18. print  x,
  19. 1 3 b
  20. >>> ‘b‘  in  t
  21. True
  22. >>> q = t + ((3, ‘abc‘))
  23. >>> q
  24. (1, 3, ‘b‘, 3, ‘abc‘)
  25. >>>  for  x  in  (2, (3, ‘a‘)):
  26. print  x
  27. 2
  28. (3, ‘a‘)
  29. >>>  len (q)
  30. 5
  31. >>>  len ((2, (3, ‘abc‘)))
  32. 2
  33. >>> (1, 2, 3)[1]
  34. 2
  35. >>> q[1] = ‘d‘
  36. Traceback (most recent call last):
  37. File "#57>", line 1, in <module></module>
  38. q[1] = ‘d‘
  39. TypeError : ‘ tuple ‘  object  does  not  support item assignment
  40. >>> a = (‘b‘, ‘c‘, q)
  41. >>> 1  in  a
  42. False
  43. >>> q  in  a
  44. True
  45. >>> a
  46. (‘b‘, ‘c‘, (1, 3, ‘b‘, 3, ‘abc‘))
  47. >>> q=‘d‘
  48. >>> a
  49. (‘b‘, ‘c‘, (1, 3, ‘b‘, 3, ‘abc‘))

上面的例子足以说明大部分了,使用元组时最重要的一点是“一旦生成,就不可变了”。

列表

列表就像java里的collection,所具有的特性也要比元组更多,更灵活,其character总结如下:

  • 任意对象的有序集合;
  • 可通过偏移存取,注意,列表中的元素都是可变的,这是不同于元组的;
  • 长度可变,支持嵌套;
  • 还有一些类似java的对象引用机制

由于列表的这些特性,使得列表在实际应用中被广泛使用,下面是一些例子。

1) 首先是基本用法

python 代码

  1. >>> l = [‘a‘, ‘b‘, ‘c‘]
  2. >>>  len (l)
  3. 3
  4. >>> l + [‘d‘]
  5. [‘a‘, ‘b‘, ‘c‘, ‘d‘]
  6. >>> l * 2
  7. [‘a‘, ‘b‘, ‘c‘, ‘a‘, ‘b‘, ‘c‘]
  8. >>>  for  x  in  l:
  9. print  x,
  10. a b c

2) 索引和分片,赋值(单个元素赋值,分片赋值)

python 代码

  1. >>> l = [‘abc‘, ‘ def ‘, ‘ghi‘, 123]
  2. >>> l[2]
  3. ‘ghi‘
  4. >>> l[-3]
  5. ‘ def ‘
  6. >>> l[:3]
  7. [‘abc‘, ‘ def ‘, ‘ghi‘]
  8. >>> l[1] = ‘haha‘
  9. >>> l
  10. [‘abc‘, ‘haha‘, ‘ghi‘, 123]
  11. >>> l[1:] = [‘apple‘, ‘banana‘]
  12. >>> l
  13. [‘abc‘, ‘apple‘, ‘banana‘]
  14. >>> l[2] = [123, 345, 456]
  15. >>> l
  16. [‘abc‘, ‘apple‘, [123, 345, 456]]
  17. >>> l[1:] = [123, 234, 345, 456, 567]
  18. >>> l
  19. [‘abc‘, 123, 234, 345, 456, 567]

3) 添加、排序、删除操作

python 代码

  1. >>> l = [‘abc‘, ‘ def ‘, ‘ghi‘, 123]
  2. >>> l. append (456)
  3. >>> l
  4. [‘abc‘, ‘ def ‘, ‘ghi‘, 123, 456]
  5. >>> l.sort()
  6. >>> l
  7. [123, 456, ‘abc‘, ‘ def ‘, ‘ghi‘]
  8. >>>  del  l[0]
  9. >>> l
  10. [456, ‘abc‘, ‘ def ‘, ‘ghi‘]
  11. >>>  del  l[2:]
  12. >>> l
  13. [456, ‘abc‘]

4)一些有趣的用法(来自论坛 id—咖啡舞者 )

去掉列表中每个元素头尾的空格:

python 代码

()    元素固定

【和我一起学python吧】python的数据类型

时间: 2024-10-11 12:00:11

【和我一起学python吧】python的数据类型的相关文章

和我一起学python,控制语句 (life is short ,we need python)

控制语句 if/elif/else if语句和一般编程语言一样,条件为true 执行 如: if true : print 'true'         <----if.else下对齐,要使用相同的空格或者tab else: print 'false' 但是,python有自己的特点: 1. if else 要求严格分层对齐 对于嵌套if.else语句都应当严格分层对齐. 2.if else 关键字后边一定要加冒号 : #!/usr/bin/python ''' create By to be

和我一起学python,基本概念 (life is short ,we need python)

作者:tobecrazy  出处:http://www.cnblogs.com/tobecrazy 欢迎转载,转载请注明出处.thank you! 基本概念 : 常量: 常量名全部大写,如PI 变量: python没有变量类型,也不必声明,直接赋值即可. 变量可以是数字,字符串,布尔值(True,Flase,注意大小写),列表,字典等类型. 如: var=1 str='hello' 变量名: 字母数字下划线,不能以数字开头.全局变量最好全部大写,一般变量注意避免保留字. 有效变量名: test1

和我一起学python,初识python (life is short ,we need python)

作者:tobecrazy  出处:http://www.cnblogs.com/tobecrazy 欢迎转载,转载请注明出处.thank you! 由于项目需要(并非因为life is short),开始学习python. 1.python 是什么 和perl一样,python是一种脚本语言.由于语法简洁而清晰,比较接近伪代码 ,易于维护,逐渐开始流行起来. 高级计算机语言,规避内存指针等复杂问题 解释性语言,实时显示运行 支持多平台,linux.windows等 2.python运行环境 由于

【和我一起学python吧】Python解释执行原理

这里的解释执行是相对于编译执行而言的.我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制的可执行文件.运行该程序的时候,就可以把二进制程序从硬盘载入到内存中并运行. 但是对于Python而言,python源码不需要编译成二进制代码,它可以直接从源代码运行程序.当我们运行python文件程序的时候,python解释器将源代码转换为字节码,然后再由python解释器来执行这些字节码.这样,python就不用担心程序的编译,库

【和我一起学python吧】Python 启航

话说万张高楼平地起,不会走之前先学会爬吧.尤其对于我等的小菜同学来说更是这样,不管怎么先code first吧,等我等小菜们翅膀硬了才test first吧. 1, 怎么运行python? 先到python.org下载python的安装文件才说吧,兄弟你慢点是org不是com小心额,当然还有中文的下载链接...!然后你就可以next,next,finish了,当让你知道这是windows平台(当然activepython也很优秀).在Linux下面可能早已经为你准备好了,我用的是Ubuntu10

【和我一起学python吧】python 中的函数

一.函数的定义: Python中使用def关键字定义函数,函数包括函数名称和参数,不需要定义返回类型,Python能返回任何类型: Python代码   #没有返回值的函数,其实返回的是None def run(name): print name,'runing' #函数体语句从下一行开始,并且第一行必须是缩进的 >>>run('xiaoming') xiaoming runing >>>print run('xiaoming') xiaoming runing Non

【和我一起学python吧】python的一些推荐

看到未名的几篇帖子 使我想起了和python的一些经历,于是写了一篇咚咚. 1 书籍: python的syntax足够简单,semantics也不复杂,不怎么会使人混乱,一般来说看自带的文档足够可以学习了,看完两章便可以写出一些non-trivial的程序了. 硬要说入门书籍. learning in python可以一看.目前的版本似乎是based on python2.3的,有些内容稍微旧了点. 对于解释reference,reference counting 比较清楚,要是觉得糊涂的可以看

Python 30分钟入门——数据类型and控制结构

Python是一门脚本语言,我也久闻大名,但正真系统的接触学习是在去年(2013)年底到今年(2014)年初的时候.不得不说的是Python的官方文档相当齐全,如果你是在Windows上学习Python,安装包自带的"Python Manuals"就是一份很好的学习资料(基本上不用去找其他资料了):尤其是其中的Tutorial,非常适合初学者.本文一方面总结了python语言的核心--数据类型和控制结构:另一方面,通过与其他语言的对比表达了我对Python的一些拙见. 数据类型 Pyt

Python 30分钟入门——数据类型 &amp;amp; 控制结构

Python是一门脚本语言,我也久闻大名,但正真系统的接触学习是在去年(2013)年底到今年(2014)年初的时候.不得不说的是Python的官方文档相当齐全,假设你是在Windows上学习Python,安装包自带的"Python Manuals"就是一份非常好的学习资料(基本上不用去找其它资料了):尤其是当中的Tutorial,非常适合刚開始学习的人.本文一方面总结了python语言的核心--数据类型和控制结构:还有一方面,通过与其它语言的对照表达了我对Python的一些拙见. 数据