python學習手冊(2)

2021-07-24 14:01:49 字數 4357 閱讀 3768

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...