python set集合 以及 深淺拷貝

2022-08-09 06:15:13 字數 2609 閱讀 4338

set集合

特點:無序, 不重複, 元素必須可雜湊(不可變)

作用:去重複

本身是可變的資料型別. 有增刪改查操作.

frozenset()凍結的集合. 不可變的. 可hash的

深淺拷貝()

1. 賦值. 沒有建立新物件. 公用同乙個物件

2. 淺拷貝. 拷貝第一層內容. [:]或copy()

3. 深拷貝. 拷貝所有內容. 包括內部的所有.

深度拷貝:需引入模組 import copy

**:lst = copy.deepcopy()

1. 判斷乙個數是否是水仙花數, 水仙花數是乙個三位數, 三位數的每一位的三次方的和還等於這個數. 那這個數就是乙個水仙花數, 例如: 153 = 1**3 + 5**3 + 3**3 

2. 給出乙個純數字列表. 請對列表進行排序(公升級題).

思路:1. 完成a和b的資料交換. 例如, a = 10, b = 24 交換之後, a = 24, b = 10

2. 迴圈列表. 判斷a[i]和a[i+1]之間的大小關係, 如果a[i]比a[i+1]大. 則進行互換. 迴圈結束的時候. 當前列表中最大的資料就會被移動到最右端.

3. 想一想, 如果再次執行一次上面的操作. 最終第二大的資料就移動到了右端. 以此類推. 如果反覆的進行執行相應的操作. 那這個列表就變成了乙個有序列表.

3. 完成彩票36選7的功能. 從36個數中隨機的產生7個數. 最終獲取到7個不重複的資料作為最終的開獎結果.

隨機數:

from random import randint

randint(0, 20) # 0 - 20 的隨機數

4. 稅務部門徵收所得稅. 規定如下: 

1). 收入在2000以下的. 免徵.

2). 收入在2000-4000的, 超過2000部分要徵收3%的稅. 

3). 收入在4000-6000的, 超過4000部分要徵收5%的稅.

4). 收入在6000-10000的, 超過6000部分要徵收8%的稅.  

4). 收入在10000以上的, 超過部分徵收20%的稅. 

注, 如果乙個人的收入是8000, 那麼他要交2000到4000的稅加上4000到6000的稅加上6000到8000的稅. 

收入 = 8000-(4000-2000)*3%-(6000-4000)*4%-(8000-6000)*8%

讓使用者輸入它的工資, 計算終端使用者拿到手是多少錢.

#

1count = (input("

請輸入乙個數:"))

sum =0

for i in

count:

sum += int(i)**3

if sum ==int(count):

print("

這是乙個水仙花數")

else

:

print("

這不是乙個水仙花數")

#2li = [1,3,95,60,75,83,17,35,24]

for i in range(1,len(li)):

for n in range(0,len(li)-i):

if li[n] > li[n+1]:

li[n],li[n+1] = li[n+1],li[n]

print

(li)#3

cishu = 1st =set()

from random import

randint

while len(st) <= 7:

st.add(randint(0, 36))

print

(st)#4

salary = int(input("

請輸入你的收入:"))

if salary <= 2000:

print("

你的工資收入為%s

" %(salary))

elif 2000 < salary and salary <= 4000:

i = salary - (salary - 2000) * 0.03

print("

你的工資收入為%s

" %(i))

elif 4000 < salary and salary <= 6000:

i = salary - (salary - 2000) * 0.03 - (salary - 4000) * 0.05

print("

你的工資收入為%s

" %(i))

elif 6000 < salary and salary <= 10000:

i = salary - (salary - 2000) * 0.03 - (salary - 4000) * 0.05 - (salary - 6000) * 0.08

print("

你的工資收入為%s

" %(i))

else

: i = salary - (salary - 2000) * 0.03 - (salary - 4000) * 0.05 - (salary - 6000) * 0.08 - (salary - 10000) * 0.2

print("

你的工資收入為%s

" % (i))

Python set集合詳解

python 中的集合,和數學中的集合概念一樣,用來儲存不重複的元素,即集合中的元素都是唯一的,互不相同。從形式上看,和字典類似,python 集合會將所有元素放在一對大括號 中,相鄰元素之間用 分隔,如下所示 其中,elementn 表示集合中的元素,個數沒有限制。從內容上看,同一集合中,只能儲存...

python set集合基礎

python set 基礎 集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典 a 1 2,3 4,1 print set a 結果 hello set hello.add b print he...

python set集合操作

set集合是乙個無序且不重複的集合。建立乙個set集合 name set sdd name 返回結果 add 功能 增加集合元素 name name.add d name 返回結果 name.add sd name 返回結果 clear 功能 清空集合元素 name name.clear name ...