Python 集合

集合是Python中另一個重要的資料結構。 我們可以說它們和元組(tuples)的運作方式相似,但它們並不是有序的,且它們是可變的。 或者我們可以說它們和字典(dictionaries)的運作方式相似,但它們沒有鍵(keys)。 它們還有一個不可變的版本,稱為frozenset。 你可以使用以下語法來建立一個集合: names = {"Roger", "Syd"} 當你把集合當作數學集合時,它們的運作效果很好。 你可以取兩個集合的交集: set1 = {"Roger", "Syd"} set2 = {"Roger"} intersect = set1 & set2 #{'Roger'} 你可以將兩個集合合併: set1 = {"Roger", "Syd"} set2 = {"Luna"} union = set1 | set2 #{'Syd', 'Luna', 'Roger'} 你可以獲取兩個集合之間的差異: set1 = {"Roger", "Syd"} set2 = {"Roger"} difference = set1 - set2 #{'Syd'} 你可以檢查一個集合是否為另一個集合的超集(當然也可以檢查一個集合是否為另一個集合的子集): set1 = {"Roger", "Syd"} set2 = {"Roger"} isSuperset = set1 > set2 # True 你可以使用len()全局函數計算集合中的項目數量:...

使用 Redis 的集合(Sets)

集合与列表有两个主要的不同之处: 集合是无序的。 集合中的每个元素只能出现一次。 使用以下命令创建一个集合: SADD <setkey> <value> 可以使用相同的命令向集合中添加更多的元素。 例如: SADD names "Flavio" SADD names "Roger" SADD names "Tony" "Mark" "Jane" 使用 SMEMBERS <setkey> 命令获取集合中的所有元素: 使用 SISMEMBER 命令判断一个值是否在集合中: SISMEMBER names "Flavio" 使用 SCARD 命令获取集合中元素的数量: SCARD names 使用 SRANDMEMBER 命令从集合中随机获取一个元素(但不移除): SRANDMEMBER names 使用 SPOP 命令从集合中随机获取一个元素(并将其从集合中移除): SPOP names 可以一次性地从集合中提取多个元素: SPOP names 2 使用 SREM 命令根据值从集合中移除一个元素: SREM names "Flavio" 使用 SINTER 命令获取两个不同集合中包含的元素,排除其中一个集合的元素: SINTER set1 set2 可以在这里查看所有集合的命令。

如何從 MongoDB 集合中刪除所有項目

在使用 MongoDB 時,你可能需要從集合中刪除所有項目。 你可以通過調用集合的 deleteMany 方法並傳入一個空對象來實現。 像這樣: yourcollection.deleteMany({}) 下面是一個完整的示例: const mongo = require('mongodb').MongoClient const url = 'mongodb://localhost:27017' let db, jobs mongo.connect( url, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => { if (err) { console.error(err) return } db = client.db('jobs') jobs = db.collection('jobs') jobs.deleteMany({}) } )

完整指南:Go 資料結構

本週,我在這個部落格的各種文章中,發布了使用 Go 實作經典資料結構的分析和實現。 每個資料結構都在單獨的文章中進行描述,而這篇文章則作為索引。 已涵蓋的資料結構,按字母順序排列如下: 二元搜尋樹 字典 圖 哈希表 鏈結串列 佇列 集合 堆疊