python的數組
㈠ python有數組嗎
python中的數組是numpy模塊部分的概念。 原生的python中只有【列表】是類似的結構
㈡ 對Python中數組的幾種使用方法總結
這里介紹幾個常用的列表操作:
1、添加元素
添加元素使用列表的內置方法append
number = [1, 2, 3, 4]
number.append(5) # number = [1, 2, 3, 4, 5]
number.append([6,7]) # number = [1, 2, 3, 4, 5, [6, 7]]
number.append({'a':'b'}) # number = [1, 2, 3, 4, [6, 7], {'a', :'b'}
可以看到強大的python列表可以嵌套任意類型
2、列表相加
要想連接兩個列表,可以使用+號連接
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b # c = [1, 2, 3, 4, 5, 6]
也可以使用列表內置方法extend連接兩個列表
a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b) # a = [1, 2, 3, 4, 5, 6]
用+號會創建一個新通對象,使用extend則在原來的對象上面修改
3、列表去重復
列表本身沒有去除重復的功能,但是可以藉助python的另外一個類型set(help(set)查看)
a = [1, 2, 3, 3,2, 1]
b = list(set(a)) # b = [1, 2, 3]
也可以藉助字典類型的內置方法
a = [1, 2, 2, 3, 1, 3]
b = {}.fromkeys(a).keys() # b = [1, 2, 3]
㈢ 如何正確定義Python數組
python 裡面不說數組 而是列表 list
創建列表使用如下語句:
list1=['physics','chemistry',1997,2000];
list2=[1,2,3,4,5];
list3=["a","b","c","d"];
㈣ 關於python數組中的數組的處理
代碼如下:
a=[[1,2],[3,1],[4,0]]
a.sort(key=lambdax:x[1])
b=[]
map(b.extend,a)
printb
labma是一個很強大的函數,lambda允許用戶快速定義單行函數,當然用戶也可以按照典型的函數定義完成函數;
sort函數主要是用來排序的;
最後使用map函數展開即可。
㈤ Python 數組里[::]什麼意思
數組的切片操作,訪問python數組元素的方式
㈥ Python里 數組的元素可以是 另一個數組 嗎
在python中正確的說法,這叫做列表,不叫數組。
列表中是可以嵌套列表的。
簡單的測試腳本為:
temp={"city":"Shanghai","category":"mifan","price":10,"year":2015}
i=[temp['city'],temp['category'],temp['price'],temp['year']]
Qb=[]
Qb_count=0
ifiinQb:
Qb_count+=1
else:
Qb.append(i)
print(Qb_count)
print(Qb)
㈦ python如何向數組中添加元素
首先進入python的編輯器界面!
寫上這個程序的一個注釋內容!
相關推薦:《Python視頻教程》
新建一個students變數,用來存儲學生的名字!
然後就是通過append函數在數組中插入一個元素!
最後將這個數組列印出來!
選擇運行命令「run」->"run"。
最後運行程序,發現新的元素已經成功插入了!
以上就是小編分享的關於python如何向數組中添加元素的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
㈧ python數組的處理
Python實現字元串與數組相互轉換功能,具體如下:
1、字元串轉數組:
㈨ python的數組怎麼用
Python 的基本數據類型中並沒有數組,只有與數組相似的類型list
使用list的時候往往不需要事先聲明,但在某些特殊情況下需要事先定義
通常的事先定義為:
l = []
如果需要初始化list中的元素可以這樣定義
l = [0] * 10
print l
# >>> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
㈩ python的list和c的數組有什麼區別
始看Python現半月前看Python核編程Dive into
Python兩本書說半月看兩本都知道囫圇吞棗我暫沒需求拿做型發主要平程序test用用所
我策略整體瀏覽用候現查說核編程第版太古講2.2前東西我看翻譯電版翻譯晦澀看完
點雲霧看網家說DIP啄木鳥免費電文檔找看說呢講比核編程適合第看初者我所覺講
看核編程些概念些模糊看本書明白少要初者看本保證理解
面習程翻閱資料程總結些Cpython比較明顯同處向細節肯定沒總結完比態
函數lambda些我都懶往寫實際作兩種完全同語言面些差異冰山角已權拋磚引玉吧至少應該我相同研究
興趣考慮否習另門語言朋友點幫助文算DIP習筆記吧順帶說句要朋友解幫忙推薦實戰性強Python
教材語言東西練手光比劃能
習目
我研究向嵌入式顯C語言我主要語言我語言者我前覺於做研究應用說解門語言
精通門語言所看python主要python更利於快速發些程序現認識研究應用能離要
想計算機工程競爭立足必須懂C語言真要做高性能編程,
能機器體系架構拋腦讓Python虛擬機(或Java虛擬機等)幫搞定所底層越越CPU
core越越恐怖內存性能瓶頸於層發員說所謂高性能程序發員說些透明應用自掌控比較
效些場合匯編C替代光知道C夠掌握門面向象語言相更高層語言僅發展利自技
術認識產幫助
要問我說誰更重要我覺C更重要C習曲線更陡貌似簡單實際處都陷阱看比較簡單低效程序12月
能搞定談優化深層難度嘛需要功底按算旦C語言基礎打計算機理解其語言理解都裨益比
C基礎說1python能寫些短程序面優化算都非基本語句換換
說 Python實際層應用Python比C便層
覺既懂C進步掌握C++應該水渠C++C超集我喜歡C++繁瑣巨所才決定看看Python我喜歡Python優雅與快捷
語言類型
CPython種態類型語言強類型語言類理解呢概按照列說明類:
靜態類型語言
種編譯期間確定數據類型語言數靜態類型語言通要求使用任變數前聲明其數據類型保證點Java C 靜態類型語言
態類型語言
種運行期間才確定數據類型語言與靜態類型相反Python 態類型確定變數類型您第給賦值候
強類型語言
種總強制類型定義語言Java Python 強制類型定義您整數明確進行轉換 能字元串
弱類型語言
種類型忽略語言與強類型相反VBScript 弱類型 VBScript 您字元串 『12′ 整數 3 進行連接字元串』123′看整數 123 所些都需要任何顯示轉換
象機制
具體理解態確定變數類型要PythonObject象機制說起Objects(稱象)Python於數據
抽象Python所數據都由象或者象間關系表示函數象字元串象每東西都象概念每象都三種屬性:
實體類型值理解實體理解象重要步實體旦創建直改變顯式摧毀同通意義講決定象所支持操作
式類型(type包括numberstringtuple及其)改變改變能值要找具體點說明實體相於
象內存址本質存類型值都實體外呈現Python提供些介面讓使用者象交互比id()函數用獲象實體
整形表示(實際址)type()函數獲取其類型
object機制c所具備主要體現面幾點:
1 剛才說c靜態類型語言我定義int a, char
b等等必須源代碼面事先規定比我Python面任意處直接規定a =
lka類型string其賦值候才決定我須代碼明確寫C面我必須顯式規定char *a =
lk工事先規定a類型
2 由於C沒象概念數據表示比說兩int變數ab我想比較用a ==
b判斷兩字元串變數ab我用strcmp比較ab本質指向字元串指針直接用==比較
比較實際指針存儲值——址
Java呢我通使用 str1 == str2 確定兩字元串變數否指向同塊物理內存位置叫做象同性 Java 要比較兩字元串值要使用 str1.equals(str2)
Python前兩者都由於象引入我用is運算符比較兩象實體具體象type沒關系
比象tuplestring甚至class都用is比較本質象同性比較Java
==類似 Cpointer比較類似Python==比較值比較
3
由於象機制引入讓Python使用非靈比我用自省查看內存象形式存其模塊函數獲取信息並進行
操作用種定義沒名稱函數按函數聲明參數順序調用函數甚至引用事先並知道名稱函數 些操作C都想像
4 意思細節類型象行影響各面比說a = 1; b =
1語句Python面引發能ab同指向值1象能別指向兩值1象例語句c = []; d
= []cd肯定指向同新創建空list沒完c = d =
[]語句呢cd指向相同list象些區別都c沒
我說說python慢主要原function call
overhead比較所東西現都象contruct destroy 花費連1 + 1 都 function
call像』12′+』45′ 要 create a third string object, then calls the string
obj』s __add想知速度何能快起
列表數組
析PythonlistC數組總趣相信能些朋友初列表候都作數組初於list數組區別定性主要集兩點首先list包含同數據類型比
["this", 1, "is", "an", "array"]
List放C其實字元串數組相於二維
其呢list其本身象C單純數組同於List操作重載運算符帶些問題比面例:
加入我要產維列表用面語句
A = [[None] * 2] * 3
結A值
[[None, None], [None, None], [None, None]]
初看沒問題典型二維數組形式列表現我想修改第None值用語句
A[0][0] = 5
現我再看看A值:
[[5, None], [5, None], [5, None]]
發現問題沒用 * 復制創建象引用真創建 *3 創建包含三引用列表三引用都指向同度2列表其行改變顯示所行想要解決我創建
A = [None]*3
for i in range(3):
A[i] = [None] * 2
創建包含三同度2列表
所直強調越復雜東西越靈越容易錯
代碼優化
C簡單語言我考慮優化候通想簡單比系統級調用越少越(緩沖區機制)消除循環低效率必要系統引用等
等其實主要都基於系統硬體細節考慮Python完全面說些優化形式於Python仍實用由於
Python語形式千差萬別庫模塊種所於語言本身言值注意優化要點舉幾例吧
比我list L1想要構建新list L2L2包括L14元素按照直接想代碼應該
L2 = []
for i in range[3]:
L2.append(L1[i])
更加優化優美版本
L2 = L1[:3]
再比s1..s7字元串(10K+)join([s1,s2,s3,s4,s5,s6,s7])比
s1+s2+s3+s4+s5+s6+s7快,者計算表達式join()則程完所復制於字元串操作
字元串象使用replace()僅沒固定字元串模式才使用則表達式
所說優化評判標准說C短精悍Python博精深
includeimport
C語言include非簡單形式單意義明確需要用外部函數等資源用includePython相似
機制import乍看兩傢伙挺像都我要用外部資源(見函數或者模塊(Python))用指明其實
兩者處理機制本質區別於Cinclude用於告訴預處理器include指定文件內容都給我作本源文件現
import呢簡單面內容*直接*插入本面玩意更加靈事實幾乎所類似機制Python都比C靈說C
C簡練我其實更喜歡C
簡單說說靈性importpython三種形式import X, from X import *( or a,b,c……),
X = __import__(』x')用第二種比較便像第種用X.mole調用模塊from X
import *import些publicmole(般都__命名模塊)指定a,b,cimport
候用哪種形式呢應該說數模塊文檔都明確告訴應該用哪種形式需要用象from X import
*能更合適些目前看數第三Python庫都推薦使用from molename import *
種格式做使引入者namespace混亂甚至於些專門設計用於種模式模塊(包括Tkinter,
threadingmatplot)都採用種式僅僅需要某象類a用from X import a比用import
X.a更調用a函數直接用a.function()既用加X
連自希望import模塊都知道辦請注意Python優勢體現我用
__import__(mole)調用mole其mole字元串運行再決定底要調用mole舉
例:
def classFromMole (mole, Name):
mod = __import__ (mole)
return getattr (mod, Name)
定義函數classFromMole代碼任何候調用
o = classFromMole (MoleOfTheClass, NameOfTheAttribute)()
需要傳入字元串形式希望import模塊MoleOfTheClass其屬性名字NameOfTheAttribute(數據)能調用名字字元串用事先指定根據運行情況判斷
順帶說句Pythonimport順序默認規定Cinclude點類似我般都先include系統文件再
include自文件(且>區別)Python呢般應該按照順序import模塊:
1. 標准庫模塊 — sys, os, getopt 等
2. 第三模塊
3. 本實現模塊
全局變數
談全局變數呢倒說Pythonc全局變數概念同概念相同使用機制些差異舉例:
– mole.py –
globalvar = 1
def func():
print globalvar
# This makes someglobal readonly,
# any attempt to write to someglobal
# would create a new local variable.
def func2():
global globalvar
globalvar = 2
# this allows you to manipulate the global
# variable
func函數globalvar讀使用globalvar =
xxx種賦值語句Python重新創造新本象並新值賦給原象值變func2函數由於我事先申明
globalvarglobal更改直接全局變數效