定義乙個空集合:
>>
> s =
set(
)>>
>
type
(s)<
class
'set'
>
>>
> s1 =
set(
)>>
>
type
(s1)
<
class
'set'
>
>>
> s2 =
set(
)>>
>
type
(s2)
<
class
'set'
>
定義乙個集合並初始化:集合中的元素不能重複
>>
> s =
>>
>
print
(s,type
(s))
<
class
'set'
>
列表的快速去重:
>>
> li =[1
,2,'hello',2
,3,'hello'
]>>
> s =
set(li)
>>
>
print
(s,type
(s))
<
class
'set'
>
>>
> s =
成員操作符
>>
>
print
('hello'
in s)
true
>>
>
print(1
in s)
true
>>
>
print(0
in s)
false
for 迴圈
>>
>
for i in s:..
.print
(i)...
12hello
1.新增單個元素: add()
集合是乙個可變的資料型別(資料發生改變後,變數的記憶體位址發生了改變)
其中新增順序和儲存順序不相同
>>
> s.add(0)
>>
> s.add(10)
>>
> s
2.新增多個元素: update()
>>
> s.update(
)>>
> s
3.刪除: pop()刪除並返回集合中的第乙個元素
>>
> tmp = s.pop(
)>>
> tmp
0>>
> s
4.刪除指定的元素: remove()刪除集合中指定的元素但不返回此元素
>>
> a = s.remove(3)
>>
> a
>>
> s
5.排序: sorted()根據asc碼由大到小進行排序,返回乙個新列表
6.交集: intersection()返回兩個集合交集的新集合
>>
> s.intersection(s2)
7.並集: union()返回兩個集合並集的新集合
>>
> s.union(s2)
8.差集: difference()返回兩個集合差集的新集合
s中有但是s2中沒有的元素
>>
> s.difference(s2)
9.對等差分: 並集-交集
>>
> s.symmetric_difference(s2)
10.子集: issubset()判斷是否是子集,返回true 或 false
>>
> s3 =
>>
> s3.issubset(s)
true
>>
> s3.issubset(s2)
false
11.是否不相交: isdisjoint() 判斷兩個集合是不是不相交
>>
> s3 =
>>
> s3.isdisjoint(s)
true
練習:
根據輸入的n確定n個在(1, 100)範圍內的隨機數,去重並排序
import random
n =int
(input
('please input n:'))
nums =
for i in
range
(n):1,
101)
)nums_nore =
set(nums)
nums_sort =
sorted
(nums_nore)
print
(nums_sort)
print
('最終剩餘%d個數.'
%len
(nums_sort)
)
Python學習 06切片
python裡提供了切片 slice 操作符獲取列表裡的元素。示例 l 1,2,3,4,5 取前2個元素,傳統方法 l 0 l 1 1,2 取前2個元素,使用切片 l 0 2 1,2 l 0 2 表示,從索引0開始取,直到索引2為止,但不包括索引2。如果第乙個索引是0,還可以省略 l 2 1,2 也...
Python學習筆記06
使用 json 函式需要匯入 json 庫 import json json.dumps 用於將 python 物件編碼成 json 字串 json.dumps obj,skipkeys false,ensure ascii true,check circular true,allow nan tr...
Python學習之Part16 裝飾器高階
應用場景 在使用裝飾器對原函式進行裝飾後,可以控制裝飾器什麼生效,什麼時候不生效 即在想使用原函式時,不需要對語法糖進行注釋,或者刪除裝飾器 以下使用乙個例子進行說明 import time 定義flag標誌位,當為真的時候,裝飾器生效,否則裝飾器不生效 falg false deftimmer o...