首頁 > 後端開發 > Python教學 > Python Day-Tuples,集合:方法、範例、任務

Python Day-Tuples,集合:方法、範例、任務

Patricia Arquette
發布: 2024-12-28 11:40:22
原創
659 人瀏覽過

Python Day-Tuples, Set : Methods,Examples,Tasks

元組:

-->元組項是有序的、不可變的(不可更改)並且允許重複值。
-->元組用圓括號()書寫。
-->元組也允許索引、切片。
-->元組與列表類似,可以執行加法、乘法,元組也可以使用很少相同的功能。

範例:

t = (10,20,30)
print('output:1',t)
print('output:2',type(t))

print('output:3',end=' ')
for num in t:
    print(num, end = ' ')

total = 0
print('output:4',end=' ')
for num in t:
    total+=num
print(total)

t[0] = 100
登入後複製
登入後複製

輸出:

output:1 (10, 20, 30)
output:2 <class 'tuple'>
output:3 10 20 30 output:4 60
'tuple' object does not support item assignment
登入後複製
登入後複製

-->對於最後一個輸出,它顯示錯誤,因為元組是不可變的項目分配無法完成。

元組打包和解包:

Tuple packing and unpacking are features that allow you to group values into a tuple and extract them back into individual variables.
登入後複製
登入後複製

範例:

#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
登入後複製
登入後複製

相同的函數可以用作列表函數。

範例:

t1 = 10,20,30,40,50,60,10

print(t1.count(10))
print(t1.index(20))
print(sorted(t1))

print(sorted(t1,reverse=False))
登入後複製
登入後複製

輸出:

2
1
[10, 10, 20, 30, 40, 50, 60]
[10, 10, 20, 30, 40, 50, 60]
登入後複製
登入後複製

1) 找到
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() 函數:

此函數用於評估透過 input() 函數提供的元素類型是清單還是元組。

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():(symbol-&)傳回一個集合,即其他兩個集合的交集。

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

4)symmetry_difference():(symbol-^)傳回具有兩個集合的對稱差的集合。

範例:1

t = (10,20,30)
print('output:1',t)
print('output:2',type(t))

print('output:3',end=' ')
for num in t:
    print(num, end = ' ')

total = 0
print('output:4',end=' ')
for num in t:
    total+=num
print(total)

t[0] = 100
登入後複製
登入後複製

輸出:

output:1 (10, 20, 30)
output:2 <class 'tuple'>
output:3 10 20 30 output:4 60
'tuple' object does not support item assignment
登入後複製
登入後複製

範例:2

Tuple packing and unpacking are features that allow you to group values into a tuple and extract them back into individual variables.
登入後複製
登入後複製

輸出:

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

#Tuple Unpacking
no1, no2, no3 = t
print(no1)
print(no2)
print(no3)
登入後複製
登入後複製

注意:我們可以使用符號或方法名稱。

丟棄():

-->只有當該元素存在於集合中時,它才會從集合中刪除該元素。
-->如果集合中不存在該元素,則不會引發錯誤或異常,並列印原始集合。

discard() 與 remove() 的差異
-->remove():僅當該元素存在於集合中時才從集合中刪除該元素,就像discard()方法一樣,但如果該元素不存在於集合中,則會引發錯誤或異常.
-->在discard()中,不會引發錯誤或異常,並且會列印原始集合。
參考-https://www.geeksforgeeks.org/python-remove-discard-sets/

範例:

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

輸出:

t1 = 10,20,30,40,50,60,10

print(t1.count(10))
print(t1.index(20))
print(sorted(t1))

print(sorted(t1,reverse=False))
登入後複製
登入後複製

任務:
match1 = {"sanju", "virat", "ashwin", "rohit"}

match2 = {"dhoni", "virat", "bumrah", "siraj"}
找出以下內容:

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

2
1
[10, 10, 20, 30, 40, 50, 60]
[10, 10, 20, 30, 40, 50, 60]
登入後複製
登入後複製

輸出:

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
登入後複製
登入後複製

以上是Python Day-Tuples,集合:方法、範例、任務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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