標準資料型別之Tuple Set

2021-10-22 15:20:29 字數 3782 閱讀 3702

標準資料型別之tuple

在python的內建標準資料型別中還存有另外一種有序列表–tuple(元組),對於它的使用方法,是和list差不多的,唯一不同的是,元組屬於不可變物件,也就是說它在建立之後是不可以改變的。z

這裡的有序指的是元素插入的先後順序。

元組的建立

元組的建立存有乙個細節,在建立的時候,元組的內容置於括號內,各個元素由,進行分隔,當僅有乙個元素的時候末尾也需有,才可定義為元組物件。

>>

> tup =(10

)>>

> tup

10>>

>

type

(tup)

<

class

'int'

>

>>

> tup1 =(10

,)>>

> tup1(10

,)>>

>

type

(tup1)

<

class

'tuple'

>

>>

> tup2 =(1

,2,3

,4)>>

> tup2(1

,2,3

,4)

元組不可變特性

上述說到元組具有和列表差不多的使用方法,但是存有一些特有的特性,就是不可變性。當試圖修改元組內的元素的時候,會報錯,如需改變資料,僅能重新建立元組物件,所以適用於對固定資料的操作,除非有必要,否則盡量不要修改元素。

>>

> tup2(1

,2,3

,4)>>

> tup2[:2

](1,

2)>>

> tup2[2]

=6traceback (most recent call last)

: file ""

, line 1,in

typeerror:

'tuple'

object does not support item assignment

>>

>

id(tup2)

2078617958576

>>

> l =

list

(tup2)

>>

> l[2]

=6>>

> tup2 =

tuple

(l)>>

> tup2(1

,2,6

,4)>>

>

id(tup2)

2078618025792

對if-else的拓展

語法為(, )[condition]

>>

> gerry_age =

20>>

> heihei_age =

17>>

> gerry =

("未成年"

,"已成年"

)[gerry_age >=18]

>>

> gerry

'已成年'

>>

> heihei =

("未成年"

,"已成年"

)[heihei_age >=18]

>>

> heihei

'未成年'

condition為真的時候,對應的是1所以選擇的是元組的下標為1的元素,當為假的時候,則選擇下標為0的元素。

標準資料型別之set

對於標準資料型別–set(集合)來說,對於它的特性是內部不存在重複的資料,可用於排重,且是乙個無序序列。

集合的建立

可以使用大括號或者set()函式建立集合,注意:建立乙個空集合必須用set()而不是,因為是用來建立乙個空字典。

>>

> s =

set([1

,2,3

,1,2

,3])

>>

> s

>>

> s1 =

>>

> s1

>>

> t =

>>

>

type

(t)<

class

'dict'

>

集合的內建方法

方法描述

set.add()

為集合新增元素

set.clear()

移除集合中的所有元素

set.copy()

拷貝乙個集合

set.difference()

返回多個集合的差集

set.difference_update()

移除集合中的元素,該元素在指定的集合也存在。

set.discard()

刪除集合中指定的元素

set.intersection()

返回集合的交集

set.intersection_update()

返回集合的交集。

set.isdisjoint()

判斷兩個集合是否包含相同的元素,如果沒有返回 true,否則返回 false。

set.issubset()

判斷指定集合是否為該方法引數集合的子集。

set.issuperset()

判斷該方法的引數集合是否為指定集合的子集

set.pop()

隨機移除元素

set.remove()

移除指定元素

set.symmetric_difference()

返回兩個集合中不重複的元素集合。

set.symmetric_difference_update()

移除當前集合中在另外乙個指定集合相同的元素,並將另外乙個指定集合中不同的元素插入到當前集合中。

set.union()

返回兩個集合的並集

set.update()

給集合新增元素

小樣例

#!/usr/bin/ python

# -*- coding:utf-8 -*-

"""@ date: 2021-03-18

@ author: gerry

@ description: 利用集合的特性,返回給定列表內重複的元素

"""def

findrepeatnumber

(nums:

list

[int])

->

int:

ifnot nums:

return-1

s =set(

)for i in nums:

if i in s:

return i

else

: s.add(i)

return-1

if __name__ ==

"__main__"

: nums =[2

,3,1

,0,2

,5,3

]print

(findrepeatnumber(nums)

)>>

> 輸出結果

2

Python基本資料型別 tuple, set

建立 tuple建立當個元素時,需要注意元素後面加逗號 1.用小括號建立 a print type a 1 1 單個元素的tuple需要加上逗號 a 100 print type a b 100,print type b 2.用逗號建立 a 100 print type a b 11,12,13 最...

c 標準資料型別

int 型別與作業系統,編譯器相關 如 win32下為32位,win64下為64位 如果軟體有移植需求,請使用固定大小的資料型別 注意 long 的位元組數是不隨平台改變的,都是4位元組 補充 byte1位元組typedef unsigned char byte word2位元組typedef un...

python 標準資料型別

資料型別 set number string list tuple dict bool 標準資料型別 none number string bool 1.none 主要為了判斷存在與否 2.number int long float complex id 查詢記憶體位址 type 查詢資料型別 3....