Python数组在List中的具体应用手册

开发 后端
Python数组具有很广泛的应用范围,但是在使用的时候还是有不少的问题困扰着我们。下面我们就来看看相关的技术信息。希望对大家有所帮助。

Python数组在使用的时候有不少的问题需要解决,下面就是在List中Python数组的三种特有数据类型中的一种,希望大家在使用的过程总有所帮助。下面大家就来详细的学习下吧。#t#

跟数组很像,支持直接利用下标的访问方式;同时List的size是可变,这一点又跟ArrayList是十分类似的。但是List就像是包罗万象的万花筒,不仅能够容下对象,同时也能存放基本的数据类型,如整型等。这比Java的ArrayList的装载能力强多了,在Java中ArrayList是不能存放基本类型的。List除了极强的兼收并包能力,对List中的item进行操作的灵活性更是让人为之振奋。举个最简单的例子吧,如果一个数组中存放着一个整数数列,现在想将数组中大于某个数值的数选出来构成一个新的数列。在Java中,恐怕就得这么做了,先构造一个类,然后在类中建立一个方法:

 

  1. public static int[] select(int[] source, int bound) {  
  2. int[] result = new int[source.length];  
  3. int j = 0;  
  4. for (int i = 0; i < source.length; i++) {  
  5. if (source[i] > bound) {  
  6. result[j] = source[i];  
  7. j++;  
  8. }  
  9. }  
  10. return source;  

看着这样的代码,您是不是会觉得很不爽呢?本来很简单的一件事情,怎么需要那么多的代码,而且还得为返回的数组作初始化的时候,准备多一些空间,如果实参不是一个int数组,而是double型的呢?恐怕我得再写多一个方法了。那么在Python数组中,又怎么做呢? 很简单,真的很简单:

  1. [item for item in source if item > bound ] (注:source是一个List) 

您是不是很惊讶呢?OK,calm down,就是这么简单。不管source装着是int,还是double,甚至是string,这行简单的代码都能替你把问题搞定。因为Python对这样的task处理游刃有余,我们根本都不需要将其封装到一个module中了。

除了这三种特有数据类型让我爱不释手之外,Python数组处理String的能力,也让我为之赞叹。如果您想将一个String重复打印几次,你的Java代码是不是要这样写呢:

 

  1. for (int i = 0; i < times; i++)  
  2. System.out.print("Hello "); 

在Python中,你只需要这样:print "Hello " * 5。 噢,'*' 运算符都用到String身上了,代码也因此变得简单而易懂。Python中字符串类型有一个功能很强大的函数,就是join()。join函数可以接收具有顺序化的变量,如Dictionary、List、Tuple和String。例示如下:

 

  1. >>>"+".join("123")  
  2. '1+2+3'   
  3. >>> ";".join(["first", "second", "third"])  
  4. 'first;second;third'  

Python数组的简约让我深深的陶醉了,她中和了代码的枯燥。让人心烦的代码因她的存在而变得美妙。您感受到了吗?

 

责任编辑:张浩 来源: TT网络
相关推荐

2010-03-12 08:59:40

Python代码

2010-06-09 17:01:26

Cacti使用手册

2010-03-24 14:37:29

Python编程语言

2010-01-14 16:44:39

VB.NET Mont

2011-08-09 13:22:31

iPhoneSqlite数据库

2010-03-17 16:36:10

Java信号量模型

2010-03-17 13:46:55

Python sock

2009-10-30 09:06:49

Internet接入方

2009-12-02 18:03:00

PHP cURL

2010-05-26 12:35:11

2010-03-25 11:08:08

Python优点

2010-03-09 17:32:45

Python数组

2009-11-20 16:04:40

网络路由协议

2009-10-26 11:11:33

linux Emacs

2010-03-09 15:48:06

Python抓取

2010-03-15 10:24:20

Python函数变量

2010-03-15 17:26:58

Python字典

2010-03-11 19:34:57

Python字符串

2009-11-20 16:22:56

路由器DHCP服务器

2009-11-23 17:56:45

业务路由器
点赞
收藏

51CTO技术栈公众号