Python tkinter 修改按鈕文字的 2 種方式

本篇 ShengYu 介紹 Python tkinter 修改按鈕文字,在 Python tkinter 建立 button 按鈕後可能會在之後的事件觸發時去修改按鈕的文字,這邊就來介紹一下怎麼修改 button 的文字標題。

使用 tkinter button 的 text 屬性來修改按鈕文字

這邊介紹第一種方式,使用 tkinter Button 的 text 屬性來修改按鈕文字,也是最通用最簡單的方式,用法範例如下,
這個範例是先透過一個按鈕事件來去改變按鈕文字,每按一次 Button 就會顯示點擊的次數,

python3-button-change-text.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import tkinter as tk
root = tk.Tk()
root.title('my window')
root.geometry('200x150')

counter = 0
def button_event():
global counter
counter += 1
mybutton['text'] = 'click ' + str(counter)

mybutton = tk.Button(root, text='my button', command=button_event)
mybutton.pack()

root.mainloop()

設定 Button 的 text 屬性也可以透過 configure 的方式,寫法如下,

1
mybutton.configure(text = 'click ' + str(counter))

結果圖如下,

點擊 3 次後

用 StringVar 來修改 tkinter 按鈕文字

第二種方式是宣告一個 StringVar 在建立 Button 時指定給 textvariable,這樣 Button 的文字就會跟 StringVar 的變數產生連動,當 StringVar 的變數產生改動時,也會同時反應在 Button 的文字,注意不是指定給 text 唷!
這樣之後在事件觸發後針對 StringVar 來進行修改就可以了,用法範例如下,

python3-button-change-text2.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import tkinter as tk
root = tk.Tk()
root.title('my window')
root.geometry('200x150')

text = tk.StringVar()
text.set('my button')

counter = 0
def button_event():
global counter
counter += 1
text.set('click ' + str(counter))

mybutton = tk.Button(root, textvariable=text, command=button_event)
mybutton.pack()

root.mainloop()

其它相關文章推薦
Python tkinter 按鈕用法與範例
Python 新手入門教學懶人包
Python tkinter 新手入門教學

Python 字串切片

本篇 ShengYu 介紹 Python 字串切片,Python 中有序序列都支援切片 slice,例如:list 串列, str 字串, tuple 元組,這篇介紹 Pyhton 的字串切片 str slice。

印出字串第1-3元素

1
2
s = 'hello world'
print(s[0:3])

輸出結果如下,

1
hel

印出字串第2-4元素

1
2
s = 'hello world'
print(s[1:4])

輸出結果如下,

1
ell

印出字串頭端到7個的元素

1
2
s = 'hello world'
print(s[:7])

輸出結果如下,

1
hello w

印出字串第8到尾端的元素

1
2
s = 'hello world'
print(s[7:])

輸出結果如下,

1
orld

印出字串第1,3,5,7元素,第三個參數為間格 step,

1
2
s = 'hello world'
print(s[0:7:2])

輸出結果如下,

1
hlow

印出字串倒數3個元素

1
2
s = 'hello world'
print(s[-3:])

輸出結果如下,

1
rld

印出字串第2個元素,跟上面不一樣唷!別搞混了~

1
2
s = 'hello world'
print(s[-3])

輸出結果如下,

1
r

印出字串從尾端到頭端

1
2
s = 'hello world'
print(s[::-1])

輸出結果如下,

1
dlrow olleh

其它相關文章推薦
如果你想學習 Python 相關技術,可以參考看看下面的文章,
Python str 字串用法與範例
Python 新手入門教學懶人包
Python 讀檔,讀取 txt 文字檔
Python 字串分割 split
Python 取代字元或取代字串 replace
Python 產生 random 隨機不重複的數字 list
Python print 格式化輸出與排版
Python PIL 讀取圖片並顯示
Python OpenCV resize 圖片縮放

Python 時間日期轉字串

本篇介紹 Python 時間日期轉字串,在 Python 將 datetime 轉 string 的方法如下,

Python datetime 轉 string

在 Python datetime 日期時間轉 string 的方法如下,
這邊舉例使用取得現在時間後再轉為 string,要使用 datetime.datetime.strftime() 然後會回傳一個 str 物件,

1
2
3
4
5
6
7
8
from datetime import datetime

now = datetime.now()
s = datetime.strftime(now, '%Y-%m-%d %H:%M:%S')
print(type(now))
print(now)
print(type(s))
print(s)

結果如下,

1
2
3
4
<class 'datetime.datetime'>
2021-02-21 21:53:36.943719
<class 'str'>
2021-02-21 21:53:36

其它相關文章推薦
Python 新手入門教學懶人包
Python 字串轉時間日期
Python 寫檔,寫入 txt 文字檔
[Python] 讀取 csv 檔案
[Python] 寫入 csv 檔案
[Python] 讀寫檔案
[Python] 產生 random 隨機不重複的數字 list
[Python] PyAutoGUI 使用教學
Python OpenCV resize 圖片縮放

LeetCode C++ Range Sum Query - Immutable 區域和檢索

今天要練習的 LeetCode 題目是 Range Sum Query - Immutable 區域和檢索,並且以 C++ 實作出來。

Range Sum Query 總共有四種題型:

  • Range Sum Query — Immutable
  • Range Sum Query — Mutable
  • Range Sum Query 2D — Immutable
  • Range Sum Query 2D — Mutable
    這一篇是介紹四個當中的 Range Sum Query — Immutable

LeetCode 題目

https://leetcode.com/problems/range-sum-query-immutable/description/
難度:簡單 Easy
類型:動態規劃 Dynamic Programming

Range Sum Query — Immutable 是 LeetCode 題目的第303題,
題目是要你實做一個 NumArray 類別,給一個 nums [-2, 0, 3, -5, 2, -1] 序列,使用 sumRange(i, j) 時要能夠回傳 [i, j] 範圍內的和,如果題目到這個話就太好了~但是它有個條件就是 sumRange 會頻繁呼叫,呼叫很多次,意味著我心裡的那個解法瞬間瓦解,這時我心中的頓時沉了下來,恩~這我好好來想想怎麼解。

解題思路與答案

以下為我的解題思路,一開始就別管題目的 [-2, 0, 3, -5, 2, -1],我直接改用 [1,2,3,4] 簡化複雜程度,開始推敲要怎麼解,接著拿出紙筆在上面寫著這幾個數字,我心想著先把 sum 算好之後要 sumRange() 取得時盡量作個簡單運算就回傳了,這樣比在當下用迴圈迭代累加還快,接著在下面寫著每個目前累積的 sum [1,3,6,10],開始用 sumRange(1,3)、sumRange(1,2)、sumRange(2,3) 這幾組去推演出個規律,如果能在這幾組找到規律那應該適用大部分情況,結果真的找到規律了,如下所示,

1
2
3
4
5
[1, 2, 3, 4]
[1, 3, 6, 10]
sumRange(1,3) = 9 = 10-1
sumRange(1,2) = 5 = 6-1
sumRange(2,3) = 7 = 10-3

那麼 sumRange(i,j) 應該就可以寫成回傳 sum[j] - sum[i-1] 了吧!
不過突然想到這邊還沒考慮到 sumRange(0,2)、sumRange(0,3) 這種前面i是0的情形,立馬在紙上驗證試試,

1
2
sumRange(0,2) = 10
sumRange(0,3) = 6

看來i是0的話,就直接回傳sum[j]就可以了~~~耶

那就來開始寫程式組合一下這兩種情形吧!

cpp-range-sum-query-immutable.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// g++ cpp-range-sum-query-immutable.cpp -o a.out -std=c++11
#include <iostream>
#include <vector>
using namespace std;

class NumArray {
public:
NumArray(vector<int>& nums) {
sum.resize(nums.size());
int s = 0;
for (int i = 0; i < nums.size(); i++) {
s += nums[i];
sum[i] = s;
//cout << sum[i] << " ";
}
//cout << "\n";
}

int sumRange(int i, int j) {
return i == 0 ? sum[j] : sum[j] - sum[i-1];
}
private:
vector<int> sum;
};

int main() {
//vector<int> nums = {1, 2, 3, 4};
//NumArray *numArray = new NumArray(nums);
//cout << numArray->sumRange(1, 3) << "\n";
//cout << numArray->sumRange(1, 2) << "\n";
//cout << numArray->sumRange(2, 3) << "\n";
//cout << numArray->sumRange(0, 2) << "\n";
//cout << numArray->sumRange(0, 3) << "\n";

vector<int> nums = {-2, 0, 3, -5, 2, -1};
NumArray *numArray = new NumArray(nums);
cout << numArray->sumRange(0, 2) << "\n"; // return 1 ((-2) + 0 + 3)
cout << numArray->sumRange(2, 5) << "\n"; // return -1 (3 + (-5) + 2 + (-1))
cout << numArray->sumRange(0, 5) << "\n"; // return -3 ((-2) + 0 + 3 + (-5) + 2 + (-1))

return 0;
}

PS.解題不單單只能準備面試而已,還可以活化腦細胞XD,在實務上若有這種應用情形還可以應用優化,大幅提高系統的效能!

其它參考
Range Sum Query - Immutable - LeetCode
https://leetcode.com/problems/range-sum-query-immutable/description/
303 区域和检索 - 数组不可变 - 力扣(LeetCode)
https://leetcode-cn.com/problems/range-sum-query-immutable/
[LeetCode] Range Sum Query - Immutable 区域和检索 - 不可变 - Grandyang - 博客园
https://www.cnblogs.com/grandyang/p/4952464.html

其它相關文章推薦
C/C++ 新手入門教學懶人包
LeetCode C++ two sum 兩數之和
LeetCode C++ String to Integer (atoi) 字串轉整數

Git 新手入門教學懶人包

本篇 Git 新手入門教學彙整了 ShengYu 過往學習 Git 的知識,在此整理成教學目錄以便日後的查詢與新手入門學習。

Git 基礎指令操作

這裡介紹一下 Git 指令的基本操作,
Git 開新分支 branch
Git 切換分支 branch
Git 刪除本地端分支 branch
git revert commit 抵銷提交

Git 進階指令

這裡介紹一下 Git 進階指令的操作,
Git 修改上次的 commit
Git 比對這次 commit 跟前一次 commit 的差異
Git 顯示某個檔案的歷史修改記錄
Git 顯示整個repository的歷史修改記錄
Git commit 檔案的某幾個小部分修改
git clone 某單一個分支 branch
git clone 指定分支
git clone 指定資料夾名稱

Python 平方、次方 3 種用法與範例

本篇 ShengYu 介紹 Python 平方、次方 3 種用法與範例,Python 次方使用的符號是 **
Python 平方、次方 3 種用法分為這幾部分,

  • Python 平方/次方的運算符號
  • Python 的 math.pow()
  • numpy 的 square() 計算平方,power() 計算次方

Python 平方/次方的運算符號

Python 有提供平方/次方的運算符號是 **,這邊就示範 Python 平方/次方運算符號的範例,我們試試 3 的平方,

1
2
3
n = 3 ** 2
print(n)
print(type(n))

結果如下,變數類型為整數,

1
2
9
<class 'int'>

這次我們試試 3 的 4 次方,

1
2
3
n = 3 ** 4
print(n)
print(type(n))

結果如下,變數類型為整數,

1
2
81
<class 'int'>

次方不侷限一定要使用整數,這邊試試浮點數 0.5 看看,我們計算 4 的平方根,

1
2
3
n = 4 ** 0.5
print(n)
print(type(n))

結果如下,變數類型自動轉為浮點數,

1
2
2.0
<class 'float'>

計算 3 的平方根試試,

1
2
3
n = 3 ** 0.5
print(n)
print(type(n))

結果如下,變數類型自動轉為浮點數,

1
2
1.7320508075688772
<class 'float'>

Python 的 math.pow()

你也可以使用 Python 內建的 math.pow() 來計算平方或次方,我們試試 3 的平方,

1
2
3
4
import math
n = math.pow(3, 2)
print(n)
print(type(n))

結果如下,math.pow() 的輸出變數類型為 float,跟上一節的結果不同唷,

1
2
9.0
<class 'float'>

這次我們用 math.pow() 試試 3 的 4 次方,

1
2
3
4
import math
n = math.pow(3, 4)
print(n)
print(type(n))

結果如下,

1
2
81.0
<class 'float'>

也用 math.pow() 來試試浮點數,試試 4 的 平方根,

1
2
3
4
import math
n = math.pow(4, 0.5)
print(n)
print(type(n))

結果如下,

1
2
2.0
<class 'float'>

math.pow() 計算 3 的平方根試試,

1
2
3
4
import math
n = math.pow(3, 0.5)
print(n)
print(type(n))

結果如下,

1
2
1.7320508075688772
<class 'float'>

numpy 的 square() 計算平方,power() 計算次方

這邊順便列出 numpy 模組的 square() 來計算平方,

1
2
3
4
import numpy
n = numpy.square(3)
print(n)
print(type(n))

結果如下,numpy.square() 的輸出變數類型為 numpy.int64,

1
2
9
<class 'numpy.int64'>

使用 numpy 模組的 power() 可以用來計算次方,

1
2
3
4
import numpy
n = numpy.power(3, 4)
print(n)
print(type(n))

結果如下,numpy.power() 的輸出變數類型為 numpy.int64,

1
2
81
<class 'numpy.int64'>

以上就是 Python 平方、次方 3 種用法與範例介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其它相關文章推薦
Python 四則運算,加法、減法、乘法、除法用法與範例
Python mod 取餘數的用法
Python 新手入門教學懶人包
Python 寫檔,寫入 txt 文字檔
Python 讀取 csv 檔案
Python 寫入 csv 檔案
Python 讀寫檔案
Python 產生 random 隨機不重複的數字 list
Python PyAutoGUI 使用教學
Python OpenCV resize 圖片縮放

Python mod 取餘數用法與範例

本篇 ShengYu 介紹 Python mod 取餘數用法與範例,Python 取餘數使用的符號是 %,它可用來計算除法的餘數,

Python mod 取餘數用法與範例

這邊示範 Python mod 取餘數的範例,

1
2
3
4
5
6
7
8
n1 = 3 % 3
print(n1)

n2 = 4 % 3
print(n2)

n3 = 5 % 3
print(n3)

結果如下,

1
2
3
0
1
2

其它相關文章推薦
Python 四則運算,加法、減法、乘法、除法用法與範例
Python 平方、次方用法與範例
Python 新手入門教學懶人包
Python 寫檔,寫入 txt 文字檔
Python 讀取 csv 檔案
Python 寫入 csv 檔案
Python 讀寫檔案
Python 產生 random 隨機不重複的數字 list
Python PyAutoGUI 使用教學
Python OpenCV resize 圖片縮放

Visual Studio Code 安裝 C/C++11 環境教學

本篇介紹在 Windows 使用 Visual Studio Code(VS Code) 設定 C++11 寫程式的環境,

Visual Studio Code(VS Code) 設定 C++11

在 VS Code 安裝好 code runner 這個插件就可以來寫 C++ 程式了,這邊是 code runner 的設定 C++11 的方式,

想辦法找到選單 Settings 設定頁面,以我的 1.49.2 版本為例,
File > Preferences > Settings
在 Settings 設定頁面搜尋 “code-runner.executorMap”
然後選擇 Edit settings.json

在 g++ 後面加上 c++11 的參數選項,在 linux 或 macOS 環境常常用到執行緒相關的話可以加上 -pthrrad

settings.json
1
2
3
"code-runner.executorMap": {
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -std=c++11 -pthread && $dir$fileNameWithoutExt"
},

結果像這樣,這樣就可以囉!

其他參考
https://stackoverflow.com/questions/53995830/compiling-c11-in-visual-studio-code

其它相關文章推薦
Visual Studio Code 常用快捷鍵
VS Code 新增 C++ 標頭檔路徑
macOS 使用 VS Code Debugger 除錯

Python 元組切片

本篇 ShengYu 介紹 Python 元組切片,Python 中有序序列都支援切片 slice,例如:list 串列, str 元組, tuple 元組,這篇介紹 Pyhton 的元組切片 tuple slice。

印出元組第1-3元素

1
2
t = ('apple','banana','orange','lemon','tomato')
print(t[0:3])

輸出結果如下,

1
('apple', 'banana', 'orange')

印出元組第2-4元素

1
2
t = ('apple','banana','orange','lemon','tomato')
print(t[1:4])

輸出結果如下,

1
('banana', 'orange', 'lemon')

印出元組頭端到3個的元素

1
2
t = ('apple','banana','orange','lemon','tomato')
print(t[:3])

輸出結果如下,

1
('apple', 'banana', 'orange')

印出元組第4到尾端的元素

1
2
t = ('apple','banana','orange','lemon','tomato')
print(t[3:])

輸出結果如下,

1
('lemon', 'tomato')

印出元組第1,3,5元素,第三個參數為間格 step,

1
2
t = ('apple','banana','orange','lemon','tomato')
print(t[0:5:2])

輸出結果如下,

1
('apple', 'orange', 'tomato')

印出元組倒數3個元素

1
2
t = ('apple','banana','orange','lemon','tomato')
print(t[-3:])

輸出結果如下,

1
('orange', 'lemon', 'tomato')

印出元組第2個元素,跟上面不一樣唷!別搞混了~

1
2
t = ('apple','banana','orange','lemon','tomato')
print(t[-3])

輸出結果如下,

1
orange

印出元組從尾端到頭端

1
2
t = ('apple','banana','orange','lemon','tomato')
print(t[::-1])

輸出結果如下,

1
('tomato', 'lemon', 'orange', 'banana', 'apple')

其它相關文章推薦
如果你想學習 Python 相關技術,可以參考看看下面的文章,
Python tuple 元組
Python 新手入門教學懶人包
Python 讀檔,讀取 txt 文字檔
Python 字串分割 split
Python 取代字元或取代字串 replace
Python 產生 random 隨機不重複的數字 list
Python print 格式化輸出與排版
Python PIL 讀取圖片並顯示
Python OpenCV resize 圖片縮放

Python set 用法與範例

本篇介紹 Python set 用法與範例,Python set 物件是無序的集合(unordered collection),set 很重要的精隨是 set 不會包含重複的資料,以下為 Python set 的基本用法與範例。

以下 Python set 用法內容分為這幾部份,

  • Python 初始化 set
  • Python set 加入元素
  • Python 印出 set 裡所有元素
  • Python set 刪除元素
  • Python 測試某元素是否在 set 裡
  • 兩個 set 的交集
  • 兩個 set 的聯集
  • 兩個 set 的差集
  • 兩個 set 的對稱差集

Python 初始化 set

Python set 集合初始化元素使用 {} 來包住元素,也可以帶入 set() 建構子,但若要建立空的 set 要使用 set(),使用 s = {} 是會建立空 dict,不要搞錯囉!
Python 官方文件寫明 set 物件是無序,即使你印出來時發現是按照順序的,所以在使用 set 時請記得不保證有序的,
另外 set 裡是不會包含重複的元素,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
s1 = set()
s2 = set((2, 3, 1)) # 帶入 tuple 資料來初始化
s3 = {1, 2, 3, 4, 5}
s4 = {1, 1, 2, 3, 3}

print(s1)
print(s2)
print(s3)
print(s4)

print(type(s1))
print(type(s2))
print(type(s3))
print(type(s4))

結果如下,

1
2
3
4
5
6
7
8
set()
{1, 2, 3}
{1, 2, 3, 4, 5}
{1, 2, 3}
<class 'set'>
<class 'set'>
<class 'set'>
<class 'set'>

Python set 加入元素

Python set 使用 add() 來加入新元素,用法如下,
要注意 set 不會包含重複的元素唷!

1
2
3
4
5
6
s = {1, 2, 3, 4, 5}
s.add(6)
s.add(7)
s.add(7)

print(s)

結果如下,

1
{1, 2, 3, 4, 5, 6, 7}

Python 印出 set 裡所有元素

這是 Python 最簡單印出 set 的方法,用法如下,

1
2
s = {1, 2, 3, 4, 5}
print(s)

或者用 for 迴圈迭代,像下面這樣寫,
要注意 set 無法像 list 那樣使用 index 索引元素,

1
2
3
s = {1, 2, 3, 4, 5}
for i in s:
print(i)

結果如下,

1
2
3
4
5
1
2
3
4
5

Python set 刪除元素

Python set 使用 remove() 來移除刪除元素,
要注意移除一個不存在的元素會報錯(KeyError)唷!

1
2
3
4
5
s = {1, 2, 3, 4, 5}
s.remove(5)
#s.remove(6) # Error

print(s)

結果如下,

1
{1, 2, 3, 4}

Python 測試某元素是否在 set 裡

Python 如果要測試某元素是否在 set 裡的話可以使用 in 關鍵字,用法如下,

1
2
3
4
fruits = {'apple','banana','orange','lemon'}
print('tomato' in fruits)
result = 'apple' in fruits
print(result)

結果如下,

1
2
False
True

兩個 set 的交集

這邊介紹 Python 怎麼取出兩個 set 的交集(intersection),Python 取 set 的交集要使用 & 符號就會取出兩 set 中相同的元素,交集的用法範例如下,

1
2
3
4
fruits1 = {'apple','banana','orange','lemon'}
fruits2 = {'tomato','apple','banana'}
print(fruits1 & fruits2)
print(fruits2 & fruits1)

結果如下,

1
2
{'apple', 'banana'}
{'apple', 'banana'}

你也可以使用 intersection() 來取得交集,intersection() 用法範例如下,

1
2
3
4
nums1 = {1,2,3,4,5}
nums2 = {2,4,6,8,10}
print(nums1.intersection(nums2))
print(nums2.intersection(nums1))

結果如下,顛倒使用結果都相同,

1
2
{2, 4}
{2, 4}

兩個 set 的聯集

這邊介紹 Python 怎麼取出兩個 set 的聯集(union),Python 取 set 的聯集要使用 | 符號就會取出兩 set 中所有的元素,聯集的用法範例如下,

1
2
3
4
fruits1 = {'apple','banana','orange','lemon'}
fruits2 = {'tomato','apple','banana'}
print(fruits1 | fruits2)
print(fruits2 | fruits1)

結果如下,

1
2
{'orange', 'banana', 'tomato', 'lemon', 'apple'}
{'orange', 'banana', 'tomato', 'lemon', 'apple'}

你也可以使用 union() 來取得聯集,union() 用法範例如下,

1
2
3
4
nums1 = {1,2,3,4,5}
nums2 = {2,4,6,8,10}
print(nums1.union(nums2))
print(nums2.union(nums1))

結果如下,顛倒使用結果都相同,

1
2
{1, 2, 3, 4, 5, 6, 8, 10}
{1, 2, 3, 4, 5, 6, 8, 10}

兩個 set 的差集

這邊介紹 Python 怎麼取出兩個 set 的差集(difference),Python 取 set 的差集要使用 - 符號就會取出 set 與另外一個 set 的差集,舉例來說,fruits1-fruits2 會得到 fruits1 set 元素且不包含 fruits2 set 的元素,如果是 fruits2-fruits1 會得到 fruits2 set 元素且不包含 fruits1 set 的元素,差集的用法範例如下,

1
2
3
4
fruits1 = {'apple','banana','orange','lemon'}
fruits2 = {'orange','lemon','tomato'}
print(fruits1 - fruits2)
print(fruits2 - fruits1)

結果如下,

1
2
{'apple', 'banana'}
{'tomato'}

你也可以使用 difference() 來取得差集,difference() 用法範例如下,

1
2
3
4
nums1 = {1,2,3,4,5}
nums2 = {4,5,6,7,8}
print(nums1.difference(nums2))
print(nums2.difference(nums1))

結果如下,

1
2
{1, 2, 3}
{8, 6, 7}

兩個 set 的對稱差集

這邊介紹 Python 怎麼取出兩個 set 的對稱差集(symmetric difference),Python 取 set 的對稱差集要使用 ^ 符號就會取出兩 set 不重複的元素或非交集的元素,對稱差集的用法範例如下,

1
2
3
4
fruits1 = {'apple','banana','orange','lemon'}
fruits2 = {'orange','lemon','tomato'}
print(fruits1 ^ fruits2)
print(fruits2 ^ fruits1)

結果如下,

1
2
{'tomato', 'banana', 'apple'}
{'tomato', 'banana', 'apple'}

你也可以使用 symmetric_difference() 來取得對稱差集,symmetric_difference() 用法範例如下,

1
2
3
4
nums1 = {1,2,3,4,5}
nums2 = {4,5,6,7,8}
print(nums1.symmetric_difference(nums2))
print(nums2.symmetric_difference(nums1))

結果如下,顛倒使用結果都相同,

1
2
{1, 2, 3, 6, 7, 8}
{1, 2, 3, 6, 7, 8}

下一篇將介紹 dict 字典的用法

以上就是 Python set 用法與範例介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其他參考
Built-in Types set — Python 3 documentation
https://docs.python.org/3/library/stdtypes.html?#set

其它相關文章推薦
如果你想學習 Python 相關技術,可以參考看看下面的文章,
Python 檢查 set 集合是否為空
Python 新手入門教學懶人包
Python str 字串用法與範例
Python list 串列用法與範例
Python dict 字典用法與範例
Python tuple 元組用法與範例