python裡面摒棄了陣列啊之類的概念,用列表來代替,其實效果和使用方法做了乙個擴充套件,變得更6了~
直接上**
list_int = [1, 2, 5, 3]
list2_string = ['bella', 'laura', 'kinsey', 'lydia']
list3_mix = [1, 4, 5.0, 'bella', [1, 3, 5]]
也就是說,列表是乙個亂七八糟的陣列。乙個陣列裡的元素是一樣的型別,但是list可以是各種成分的雜糅體。
那麼在選取的時候也跟array一樣啦
name1 =list2_string[0]
>name1
>bella
只要注意它從0開始就行了,沒什麼難的
那麼,如何新增element呢?四種方法~
直接加在末尾,加乙個新的元素
>list2_name
>['bella', 'laura', 'kinsey', 'lydia','iris']
2. extend
也是加在末尾,但是相當於兩個list的合併,也就是說,不能直接把元素加進去,而要加乙個list
list2_name.expend(['iris'])
3. insert
insert(插入的位置,插入的內容)
list2_name.insert(2, 'iris')
>list2_name
>['bella', 'laura','iris', 'kinsey', 'lydia']
4. 加號
最簡單的啦,直接用➕號連線起來。注意連線的左右兩邊要是同樣的型別,也就是list
list4 =list1 + [5,6,7]
>list4
>[1, 2, 5, 3, 5, 6, 7]
那麼如何刪除呢?三種方法
1. remove
remove(元素名)
list2_name.remove('bella')
>list2_name
>['laura', 'kinsey', 'lydia','iris']
2. del
del是乙個系統函式,所以直接用,不用list點什麼
del list2_name[1]
>list2_name
>['laura', 'lydia','iris']
3. pop
pop是會彈出,也就是說不僅移除,而且會返回值
# pop()不帶引數,預設彈出最後乙個,像乙個棧
list2_name.pop()
>list2_name
>['laura', 'lydia']
# pop()也可以帶引數,帶index
list2_name.pop(1)
>list2_name
>['laura']
好了,講了基礎的,下面是神奇的部分~
切片slice
我們發現,當我們想更偷懶一點,想要一次操作一片,怎麼做呢?
#生成乙個list
>list5 = list(range(10))
>list5
>[0,1,2,3,4,5,6,7,8,9]
# 擷取前面的直到3,開區間,也就是0到2個
>pre = list5[:3]
>pre
>[0,1,2]
# 擷取從index=5(也就是第六個)後面的所有
>back = list5[5:]
>back
>[5,6,7,8,9]
# 擷取中間的,範圍從index的3到5
>mid = list[3,5]
>mid
>[3,4]
list比較
list們進行比較的時候,只比較第乙個值的大小。比如
list_a = [1, 50]
list_b = [2, 0]
>list_a > list_b
>false
list和重複符號
list_repeat =list_a * 3
>list_repeat
>[1, 50, 1, 50, 1, 50]
list 和成員符號:
>list_1
>[1, 50]
>2
in list_1
>false
>1
in list_1
>true
list的反轉
list_1.reverse()
注意reverse沒有返回值,會在原list上直接作修改。相當於原地翻轉
list的排序
>list = [2,1,8,3]
# 預設從小到大
>list.sort()
>list
>[1,2,3,8]
# 如果要從大到小,這樣做
>list.sort(reverse = true)
>list
>[8,3,2,1]
求元素的索引
list的元素下標索引是乙個很鬼畜的功能,如果這個列表中有很多個你想查詢的元素,則它只會返回範圍內的第乙個
l1 = [1,2,3] * 3
>l1
>[1,2,3,1,2,3,1,2,3]
# 不指定範圍,則預設所有
>l1.index(1)
>0
# 指定範圍之後 index(要找的元素,起點下標,終點下標)
>l1.index(1, 2, 5)
>3
計算某個元素出現的個數
這個很簡單,直接用
>l1
>[0,1,2,0,1,2,0,1,2]
>l1.count(1)
>3
對了還有,神奇了
list還可以當做乙個函式,後邊括號裡接需要迭代的內容,可以將後邊的內容變成乙個個list的元素
>>> s = "bella is a good learner"
>>> list(s)
['b', 'e', 'l', 'l', 'a', ' ', 'i', 's', ' ', 'a', ' ', 'g', 'o', 'o', 'd', ' ', 'l', 'e', 'a', 'r', 'n', 'e', 'r']
好了,到這裡,list的常用功能都介紹完了~
更多的功能,直接
dir
(list)
就可以看到:
>>> dir(list)
就不一一介紹啦~相信大家都會舉一反三的~
元組tuple是跟list 很像的乙個存在,只是加了枷鎖的列表,一旦定義,不能進行修改。
元組的定義很神奇,不是像列表一樣用[]方括號括起來就表示這種結構,而是由,逗號進行來定義
>tuple1 = 1, 2, 3元組可以進行切片>tuple2 = (1,2,3)
# 兩種表達形式都可以
>tuple1
>(1,2,3)
>tuple2
>(1,2,3)
#如果只有乙個元素的元組,則記得加逗號
>tuple3 = 1,
>tuple3
>(1,)
tuple3 = tuple1[:2]
>>>tuple3
>>>(1,2)
元組的插入
實際上就是先把元組切開,然後加上某些元素,再拼上去。很tricky
>>> temp = (1,2,3,4,5)
>>> temp = temp[:2]+(7,8)+temp[2:]
>>> temp
(1, 2, 7, 8, 3, 4, 5)
元組的就先講到這裡~想起來什麼新的再說吧~ python學習手冊2
python中map函式的使用方法 map 會根據提供的函式對指定序列做對映。第乙個引數 function 以引數序列中的每乙個元素呼叫 function 函式,返回包含每次 function 函式返回值的新列表。def square x 計算平方數 return x 2 map square,1,...
Python學習手冊 02
物件無非是記憶體中的一部分,包含數值和相關操作的集合。python程式可以分解成模組,語句,表示式,物件。1,程式由模組構成 2,模組包含語句 3,語句包含表示式 4,表示式建立並處理物件 python提高程式設計效率的方法之一 內建型別 像函式,模組,類這樣的程式設計單元也是物件,由def,cla...
python學習手冊 簡記
匹配hello開頭 world結尾字串 中間的任意字元儲存在group中.import re match re.match hello t world hello python world match group 1 python match re.match usr home lumberjack...