首頁 > 後端開發 > Python教學 > 天元組,集合

天元組,集合

Susan Sarandon
發布: 2025-01-03 18:17:40
原創
289 人瀏覽過

Day-Tuples, Set

元組:
元組維持元素定義的順序。
元組一旦創建,其內容就無法變更。
與列表一樣,元組可以包含重複的值。
元組可以儲存混合類型的數據,包括其他元組、列表、整數、字串等
您可以透過索引存取元組元素,從 0 開始。
由 () 表示的元組。

t = (10,20,30)
print(t)
print(type(t))

for num in t:
    print(num)

total = 0
for num in t:
    total+=num
print(total)

t[0] = 100
登入後複製
登入後複製
(10, 20, 30)
<class 'tuple'>
10
20
30
60
TypeError: 'tuple' object does not support item assignment

登入後複製
登入後複製

元組包裝:
透過將多個元素分組在一起來建立元組,例如 my_tuple = (1, 2, 3).
元組拆包:
將元組的元素提取到各個變數中,例如,a, b, c = my_tuple。

#Tuple Packing
t = 10,20,30
print(t)

#Tuple Unpacking
no1, no2, no3 = t
print(no1)
print(no2)
print(no3)

登入後複製
登入後複製
(10, 20, 30)
10
20
30
登入後複製
登入後複製
t = 10,20,30,40,50,60
print(t[:2])
登入後複製
登入後複製
(10, 20)
登入後複製
登入後複製
t1 = 10,20,30
t2 = 40,50,60
print(t1+t2)

print(t1*3)

print(10 in t1)
print(10 not in t1)
登入後複製
登入後複製
(10, 20, 30, 40, 50, 60)
(10, 20, 30, 10, 20, 30, 10, 20, 30)
True
False
登入後複製
登入後複製
t1 = 10,20,30,40,50,60,10

print(t1.count(10))
print(t1.index(20))
print(sorted(t1))
print(sorted(t1,reverse=True))

登入後複製
2
1
[10, 10, 20, 30, 40, 50, 60]
[60, 50, 40, 30, 20, 10, 10]
登入後複製
t = ((10,20,30), (40,50,60))
print(t)
print(t[0])
print(t[1])

print(t[0][0])
print(t[1][2])

t = ([10,20,30],[40,50,60])

print(t[0])
print(t[0][2])
登入後複製
((10, 20, 30), (40, 50, 60))
(10, 20, 30)
(40, 50, 60)
10
60
[10, 20, 30]
30
登入後複製

寫一個程式來找
a)第二個列表
b) 列出總計
c) 僅列印每個清單中的第二個元素。
資料 = ([10,20,30],[40,50,60],[70,80,90])

data = ([10,20,30],[40,50,60],[70,80,90])

#Second List
print(data[1])
#List wise total
for inner in data:
    total = 0
    for num,index in enumerate(inner):
        total+=index
    print(total,end=' ')
#Print Only second element from each list.
print()
i=0
while i<len(data):
    print(data[i][1],end=' ')
    i+=1

登入後複製
[40, 50, 60]
60,150,240,
20 50 80

登入後複製

eval():
eval() 是一個內建的 Python 函數,用於將字串計算為 Python 表達式並傳回結果。

沒有元組理解。

t = eval(input("Enter tuple Elements: "))
print(type(t))
print(t)

登入後複製
Enter tuple Elements: 10,20,30
<class 'tuple'>
(10, 20, 30)
登入後複製

next() 函數:
next() 函數傳回迭代器中的下一個項目。

t = (no for no in range(1,11))
print(next(t))
print(next(t))
print(next(t))
print(next(t))
登入後複製
1
2
3
4
登入後複製

*「is」與「==」的差異:*
“==”被稱為相等運算符。
「is」稱為恆等運算子。
== 檢查值。
是檢查記憶體。
== 運算子幫助我們比較物件的相等性。
is 運算子幫助我們檢查不同的變數是否指向記憶體中的相似物件。

範例:
列表:

l1 = [10,20,30]
l2 = l1
print(id(l1))
print(id(l2))
print(l1 == l2)
print(l1 is l2)

l2 = list(l1)
print(id(l2))
print(l1 == l2)
print(l1 is l2)
登入後複製
124653538036544
124653538036544
True
True
124653536481408
True
False
登入後複製

對於元組:

l1 = (10,20,30)
l2 = l1
print(id(l1))
print(id(l2))
print(l1 == l2)
print(l1 is l2)

l2 = tuple(l1)
print(id(l2))
print(l1 == l2)
print(l1 is l2)
登入後複製
130906053714624
130906053714624
True
True
130906053714624
True
True

登入後複製

元組與列表:
元組是不可變對象,列表是可變對象。
元組使用的記憶體較少,並且存取速度比列表更快。
由於元組是不可變的,因此大小將小於列表。

範例:

import sys
l = [10,20,30,40]
t = (10,20,30,40)
print(sys.getsizeof(l))
print(sys.getsizeof(t))

登入後複製
88
72
登入後複製

設定:
集合用於在單一變數中儲存多個項目。
集合是無序、不可變(不可更改)且無索引的集合。
它忽略重複項。

設定方法:
1)union():
(|)傳回包含集合並集的集合。

2)intersection():(&)傳回一個集合,即其他兩個集合的交集。

3)difference():(-)傳回包含兩個或多個集合之間差異的集合。

4)symmetry_difference():(^)傳回兩個集合的對稱差異的集合。

範例:1

t = (10,20,30)
print(t)
print(type(t))

for num in t:
    print(num)

total = 0
for num in t:
    total+=num
print(total)

t[0] = 100
登入後複製
登入後複製
(10, 20, 30)
<class 'tuple'>
10
20
30
60
TypeError: 'tuple' object does not support item assignment

登入後複製
登入後複製

範例:2

#Tuple Packing
t = 10,20,30
print(t)

#Tuple Unpacking
no1, no2, no3 = t
print(no1)
print(no2)
print(no3)

登入後複製
登入後複製
(10, 20, 30)
10
20
30
登入後複製
登入後複製

丟棄():
Discard() 方法從集合中刪除元素(如果存在)。如果該元素不存在,則不會執行任何操作(不會引發錯誤)。
刪除():
如果元素存在,remove() 方法會從集合中刪除該元素。如果該元素不存在,則會引發 KeyError。

t = 10,20,30,40,50,60
print(t[:2])
登入後複製
登入後複製
(10, 20)
登入後複製
登入後複製

任務:
match1 = {"sanju", "virat", "ashwin", "rohit"}
match2 = {"dhoni", "virat", "bumrah", "siraj"}

找到以下:
a) 匹配 1、匹配 2
b)參加了第一場比賽,但沒有參加第二場比賽
c)參加了第 2 場比賽,但未參加第 1 場比賽
d)只參加了一場比賽

t1 = 10,20,30
t2 = 40,50,60
print(t1+t2)

print(t1*3)

print(10 in t1)
print(10 not in t1)
登入後複製
登入後複製
(10, 20, 30, 40, 50, 60)
(10, 20, 30, 10, 20, 30, 10, 20, 30)
True
False
登入後複製
登入後複製

以上是天元組,集合的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板