Python No 18 集合以及表示符號

2022-07-03 06:15:10 字數 2747 閱讀 5245

# !/usr/bin/env python

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

# author:hugolinhj

list_1 = [1,4,5,7,6,3,7,9]

list_1 = set(list_1)

print(list_1,type(list_1))

#list_1轉化為集合資料型別,集合的特點,特點:排除重複。集合也是無序的。

list_2 = set([2,6,3,4,33,41,8])

print(list_1,list_2)

##############################例#################################

list_3 = list_1.intersection(list_2)

print(list_3)

#兩個集合的交集

list_3 = list_1.union(list_2)

print(list_3)

#兩個集合的並集

list_3 = list_1.difference(list_2)

print(list_3)

#差集,list1裡面有,但list2沒有

list_3 = list_1.issubset(list_2)

print(list_3)

#判斷list1是否為list2得子集

list_3 = list_1.issuperset(list_2)

print(list_3)

#判斷list1是否為list2得父集

list_3 = list_1.symmetric_difference(list_2)

print(list_3)

#判斷list1、list2中,互相沒有的取出來。對稱差集

list_3 = set([1,3,4])

list_4 = set([5,6,8])

list_5 = list_3.isdisjoint(list_4)

print(list_5)

#判斷list3、list4中,沒有出現交集,則true。

print(list_1)

list_3 = list_1.pop()

print('1>>',list_3)

list_3 = list_1.pop()

print('2>>',list_3)

list_3 = list_1.pop()

print('3>>',list_3)

list_3 = list_1.pop()

print('4>>',list_3)

list_3 = list_1.pop()

print('5>>',list_3)

print('6>>',list_1)

#隨機刪除乙個值,並反饋刪除的值

list_2 = set([2,6,3,4,33,41,8])

print('==>',list_2.discard('11'))

print('==>>',list_2.discard(2))

print('==>>>',list_2)

#刪除指定乙個值,不反饋刪除值,即使刪除錯誤也不反饋。

list_1.add(999)

print(list_1)

#新增一項

list_1.update([2,999,333])

print(list_1)

#新增多項

#採用符號的常用操作:

s = set ([3,5,9,10])

#建立乙個數值集合

t = set (['hello'])

#建立乙個唯一字元的集合

r = set ([3,'hesl'])

print(s)

print(t)

print(r)

a = t | s | r

#t和s的並集

b = t & s

#t和s的交集

c = t - s

#求差集(項在t中,不在s中)

d = t ^ s

#求對稱差集(項在t或者s中,但不會同事出現在二者中)

print('1.',a)

print('2.',b)

print('3.',c)

print('4.',d)

s = set([3,3,5,4])

s.remove(4)

print(s)

#刪除y=len(s)

print(y)

#s的長度

s = set ([3,5,9,10])

t = set (['hello'])

ss = 3 in s

print(ss)

#判斷3是否在s集合中

tt = 'hel' in t

print(tt)

#字串無法切片去判斷

ss = 3 not in s

print(ss)

#判斷3是否不在s集合中

r = set([1,3,4,5,6,78,9,10])

rr = s <= r

print(rr)

#判斷s是否為r的子集

rr = s >= r

print(rr)

#判斷s是否為r的父集

p = ([1,1,3,[3,4,5,5],1])

pp = p.copy()

print(pp)

#返回p的淺複製

set集合以及jdk1 8集合特性簡單說明

set集合中的元素沒有先後順序且不允許重複,但不是隨機的 set集合包含 hashset類,treeset類,linkedhashset類 linkedhashset是雙向鍊錶 叫做鍊錶陣列 列印的順序是亂的,但是沒有顯示重複的資料 setlset new linkedhashset lset.ad...

Java 集合18 集合與陣列的轉換

這個方法也是在集合工具類中的collections 運算元組的工具類 arrays裡面都是靜態方法 1.對陣列排序 2.二分查詢 3.陣列複製 4.對兩個陣列進行元素比較,判斷兩個陣列是否相同 5.將指定元素填充陣列,比如 陣列裡全部填充8 6.將陣列轉換成字串 重點方法 1.將陣列轉換為固定大小集...

學習JDK1 8集合原始碼之 Stack

stack是集合中對資料結構棧的一種實現,棧的原則是先進先後出,與佇列相反 先進先出 stack是繼承自vector的,意味著它也是由陣列實現的執行緒安全的,不考慮執行緒安全的情況下完全可以用linkedlist當做棧來使用。stack的實現很簡單,核心引數和方法都繼承自vector,因為它可以呼叫...