日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

list可以存放python中任意类型的数据_Python中常见的数据类型小结

發(fā)布時間:2024/9/15 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 list可以存放python中任意类型的数据_Python中常见的数据类型小结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Python提供多種數(shù)據(jù)類型來存放數(shù)據(jù)項集合,主要包括序列(列表list和元組tuple),映射(如字典dict),集合(set),下面對這幾種一一介紹:

一 序列

1.列表list

列表是一種有序的集合,相對于元組和字符串的不同是它其中的元素可變,可以隨時添加和刪除其中的元素。

(1)創(chuàng)建list

在命令行中測試,如下: >>> L1 = [1,2,3]

>>> L1

[1, 2, 3]

>>> L2 = ['abc']

>>> L2

['abc']

>>> L3 = ["a","b","c"]

>>> L3

['a', 'b', 'c']

注意,字符串的一定要加引號。

通過list對字符串創(chuàng)建列表非常有效,比如: >>> L = list("Python")

>>> L

['P', 'y', 't', 'h', 'o', 'n']

(2)訪問list

根據(jù)索引來訪問,注意不能越界,這一點跟數(shù)組特別像: >>> L[0]

'P'

>>> L[-1]

'n'

(3)添加新元素

用append()方法,把新元素追加到list的末尾;insert()可以將一個新元素添加到特定的位置。

(4) 刪除元素

刪除元素可以采用pop()方法,執(zhí)行L.pop()刪除list的最后一個元素,如果是特定位置的話可以采用pop(2),2表示的是位置。

(5)替換

替換很簡單,直接索引就可以。

(6)打印 >>> L = ['a','b','c']

>>> for i in L:

print(i)

a

b

c

2. tuple

(1)創(chuàng)建

與list所不同的是,tuple一般采用()括起來,命令行中測試,如下: T= 1,2,3

>>> T

(1, 2, 3)

>>> T = (1,2,3)

>>> T

(1, 2, 3)

>>> T = "abc"

>>> T

'abc'

創(chuàng)建空元組:T = ()

定義一個元素的元組:

>>> T = (1)

>>> T

1

這樣運行了結(jié)果是對的,看起來也沒錯,但是這種定義其實并不正確,這種定義的不是tupel,而是1這個數(shù),這是因為括號()既可以表示tuple,又可以表示數(shù)學(xué)公式中的小括號,這就產(chǎn)生了歧義,因此,Python規(guī)定,這種情況下,按小括號進行計算,計算結(jié)果自然是1。所以定義含一個元素的元組時必須加一個逗號,如下: >>> T = (1,)

>>> T

(1,)

(2)訪問

直接索引就好,如下: >>> T =(1,2,3)

>>> T[1]

2

(3)更改

上述定義的tuple是不變的,但是我們可以在tuple中定義list對其進行修改: >>> T = (1,2,['a','b'])

>>> T[2][0]

'a'

>>> T[2][0] = 'c'

>>> T

(1, 2, ['c', 'b'])

在tuple中,雖然元素不可以修改,但是我們可以對其進行連接組合: >>> T1 = [1,2,3]

>>> T2 = [4,5,6]

>>> T3 = T1 + T2

>>> T3

[1, 2, 3, 4, 5, 6]

3.字符串

(1)創(chuàng)建 >>> str = "Hello Python"

>>> str

'Hello Python'

(2)訪問

>>> str[0]

'H'

(3)相加

>>>str = "hello "

>>>str = "Python"

>>> str3 = str1 + str2

>>> str3

'Hello Python'

4.通用的序列操作方法

(1)索引

在訪問序列元素中用到,如下: >>> L = ['a','b','c']

>>> L[1]

'b'

>>> T = (1,2,3)

>>> T[0]

1

>>> str = "Python"

>>> str[4]

'o'

(2)分片

分片用來訪問一定范圍內(nèi)的元素,分片通常通過冒號相隔的兩個索引來實現(xiàn),常見的有如下幾種: >>> a = list(range(10))

>>> a

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> b = a[1:5]

>>> b

[1, 2, 3, 4]

>>> c = a[-3:-1]

>>> c

[7, 8]

>>> d = a[1:10:2]

>>> d

[1, 3, 5, 7, 9]

二 映射(字典)

映射中的每個元素都有一個專業(yè)的名字,叫做鍵。字典是Python中唯一內(nèi)建的映射類型,下來我們對其進行詳細介紹:

(1)鍵類型

字典(dict)是一個存放無序的鍵值映射(key/value)類型數(shù)據(jù)的容器字典的鍵可以是數(shù)

字、字符串或者是元組,鍵必須唯一。在Python中,數(shù)字、字符串和元組都被設(shè)計成不可變類型,而常見的列表以及集合(set)都是可變的,所以列表和集合不能作為字典的鍵。鍵可以為任何不可變類型,這正是Python中的字典最強大的地方。

(2)創(chuàng)建 >>> d = {}

>>> d[1] = 1

>>> d

{1: 1}

>>> d['cat'] = 'Lucy'

>>> d

{1: 1, 'cat': 'Lucy'}

(3)查找

dict是通過key來查找value,表示的是意義對應(yīng)的關(guān)系,可以通過d[key]的方式來訪問dict:

>>> d['cat']

'Lucy'

(4)遍歷 >>> d = {}

>>> d['cat'] = 'Lucy'

>>> d['dog'] = 'Ben'

>>> for key in d:

print(key + ":",d[key])

結(jié)果

cat: Lucy

dog: Ben

(5)優(yōu)缺點

dict的第一個特點是查找速度快,而且查找的速度與元素的個數(shù)無關(guān),而list的查找速度是隨著元素的增加而逐漸下降的;第二個特點是存儲的key-value序?qū)κ菦]有順序的;第三個特點是作為key得到元素是不可變的,所以list不能作為key。

dict的缺點是占用內(nèi)存大,還會浪費很多內(nèi)容。

三 集合(set)

dict是建立了一系列的映射關(guān)系,而set是建立一系列無序的,不重復(fù)的元素。

(1)創(chuàng)建

創(chuàng)建set的方式是調(diào)用set()并傳入一個list,list的元素將作為set的元素。

>>> S = set([1,2,3])

>>> S

{1, 2, 3}

重復(fù)元素在Set中自動過濾,如:

>>> S = set([1,1,2,3,4,5,4])

>>> S

{1, 2, 3, 4, 5}

(2)添加

add()添加,有重復(fù)元素可以添加,但不會有效果: >>> S.add(4)

>>> S

{1, 2, 3, 4, 5}

>>> S.add(9)

>>> S

{1, 2, 3, 4, 5, 9}

(3)刪除

>>> S.remove(9)

>>> S

{1, 2, 3, 4, 5}

(4)交集,并集

set可以看成數(shù)學(xué)意義上的無序和無重復(fù)元素的集合,因此,兩個set可以做數(shù)學(xué)意義上的交集、并集:

>>> S1 = set([1,2])

>>> S2 = set([2,3])

>>> S1&S2

{2}

>>> S1|S2

{1, 2, 3}

set和dict的唯一區(qū)別僅在于沒有存儲對應(yīng)的value,但是,set的原理和dict一樣,所以,同樣不可以放入可變對象,因為無法判斷兩個可變對象是否相等,也就無法保證set內(nèi)部“不會有重復(fù)元素”

四 list,tuple,dict和set的主要區(qū)別

1 .list

list是一個使用方括號括起來的有序元素集合;

List 可以作為以 0 下標開始的數(shù)組,任何一個非空 list 的第一個元素總是 L[0],負數(shù)索引從 list 的尾部開始向前計數(shù)來存取元素。任何一個非空的 list 最后一個元素總是 L[-1];

有分片功能,兩個list可以相加;

append 向 list 的末尾追加單個元素;

insert 將單個元素插入到 list 中;

extend 用來連接 list,使用一個 list 參數(shù)進行調(diào)用;

append 接受一個參數(shù), 這個參數(shù)可以是任何數(shù)據(jù)類型, 并且簡單地追加到 list 的尾部;

index 在 list 中查找一個值的首次出現(xiàn)并返回索引值;

要測試一個值是否在 list 內(nèi), 使用 in, 如果值存在, 它返回 True, 否則返為 False ;

remove 從 list 中刪除一個值的首次出現(xiàn);

pop 可以刪除 list 的最后一個元素, 然后返回刪除元素的值,用索引刪除制定位置的值;

2.tuple

tuple是不可變的list,創(chuàng)建了一個tuple就不能以任何方式改變它;

定義tuple是將整個元素集是用小括號括起來,是有序集合;

tuple的索引與list一樣從0開始,所以一個非空的tuple的第一個元素總是t[0];

負數(shù)索引與 list 一樣從 tuple 的尾部開始計數(shù);

與 list 一樣分片 (slice) 也可以使用。分割一個 tuple 時, 會得到一個新的 tuple;

沒有 append、extend、remove或pop方法以及index方法;

可以使用in來查看一個元素是否存在于tuple 中。

3.dict

dict定義了鍵和值之間的一一對應(yīng)關(guān)系,每個元素都是一個key-value對;

整個元素集合用大括號括起來,有序集合;

可以通過 key 得到value, 但不能通過vaule獲取 key;

在一個 dict中不能有重復(fù)的 key, 并且 key 是大小寫敏感的;

鍵可以是數(shù)字、字符串或者是元組等不可變類型;

用del使用key可以刪除dict中的獨立元素;

用clear可以清除dict中的所有元素。

4.set

set是建立一系列無序的,不重復(fù)的元素;

創(chuàng)建set的方式是調(diào)用set()并傳入一個list,list的元素將作為set的元素;

set和dict的唯一區(qū)別僅在于沒有存儲對應(yīng)的value。

以上是就是對Python數(shù)據(jù)類型的全部總結(jié),希望對大家的學(xué)習(xí)有所幫助。

總結(jié)

以上是生活随笔為你收集整理的list可以存放python中任意类型的数据_Python中常见的数据类型小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。