Python數組在List中的具體應用手冊
Python數組在使用的時候有不少的問題需要解決,下面就是在List中Python數組的三種特有數據類型中的一種,希望大家在使用的過程總有所幫助。下面大家就來詳細的學習下吧。#t#
跟數組很像,支持直接利用下標的訪問方式;同時List的size是可變,這一點又跟ArrayList是十分類似的。但是List就像是包羅萬象的萬花筒,不僅能夠容下對象,同時也能存放基本的數據類型,如整型等。這比Java的ArrayList的裝載能力強多了,在Java中ArrayList是不能存放基本類型的。List除了極強的兼收并包能力,對List中的item進行操作的靈活性更是讓人為之振奮。舉個最簡單的例子吧,如果一個數組中存放著一個整數數列,現在想將數組中大于某個數值的數選出來構成一個新的數列。在Java中,恐怕就得這么做了,先構造一個類,然后在類中建立一個方法:
- public static int[] select(int[] source, int bound) {
- int[] result = new int[source.length];
- int j = 0;
- for (int i = 0; i < source.length; i++) {
- if (source[i] > bound) {
- result[j] = source[i];
- j++;
- }
- }
- return source;
- }
看著這樣的代碼,您是不是會覺得很不爽呢?本來很簡單的一件事情,怎么需要那么多的代碼,而且還得為返回的數組作初始化的時候,準備多一些空間,如果實參不是一個int數組,而是double型的呢?恐怕我得再寫多一個方法了。那么在Python數組中,又怎么做呢? 很簡單,真的很簡單:
- [item for item in source if item > bound ] (注:source是一個List)
您是不是很驚訝呢?OK,calm down,就是這么簡單。不管source裝著是int,還是double,甚至是string,這行簡單的代碼都能替你把問題搞定。因為Python對這樣的task處理游刃有余,我們根本都不需要將其封裝到一個module中了。
除了這三種特有數據類型讓我愛不釋手之外,Python數組處理String的能力,也讓我為之贊嘆。如果您想將一個String重復打印幾次,你的Java代碼是不是要這樣寫呢:
- for (int i = 0; i < times; i++)
- System.out.print("Hello ");
在Python中,你只需要這樣:print "Hello " * 5。 噢,'*' 運算符都用到String身上了,代碼也因此變得簡單而易懂。Python中字符串類型有一個功能很強大的函數,就是join()。join函數可以接收具有順序化的變量,如Dictionary、List、Tuple和String。例示如下:
- >>>"+".join("123")
- '1+2+3'
- >>> ";".join(["first", "second", "third"])
- 'first;second;third'
Python數組的簡約讓我深深的陶醉了,她中和了代碼的枯燥。讓人心煩的代碼因她的存在而變得美妙。您感受到了嗎?