chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python之集合set的基本步驟分享

冬至配餃子 ? 來源:繆斯之子 ? 作者:肖新苗 ? 2022-08-23 10:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.基本的增刪改查, 再加上discard和pop

def test_1():
# 增刪改查,discard,
set1 = {1, 2}
set1.add(3)
assert {1, 2, 3} == set1, 'add error'

set1.remove(2)
assert {1, 3} == set1, 'remove error'

set1.update({1, 4})
assert {1, 3, 4} == set1, 'update 1 error'

set1.update((5, ))
assert {1, 3, 4, 5} == set1, 'update 2 error'

e = 5 if 5 in set1 else None
assert e == 5, 'in error'

# 區(qū)別就是remove的元素在set當(dāng)中沒有的話會(huì)報(bào)錯(cuò),而discard不會(huì)
set1.discard(5)
assert {1, 3, 4} == set1, 'discart error'

res = set1.pop()
assert 1== res and {3,4} == set1, 'pop error'

2.difference[差],union[并],intersection[交],symmetric_difference[補(bǔ)]

def test_2():
# - | & ^, difference,union,intersection,symmetric_difference
set1 = {1, 2, 3}
set2 = {2, 3, 4}
setx = set1 - set2
assert {1} == setx, '- error'

setx = set1 | set2
assert {1, 2, 3, 4} == setx, '| error'

setx = set1 & set2
assert {2, 3} == setx, '& error'

setx = set1 ^ set2
assert {1, 4} == setx, '^ error'

setx = set1.difference(set2)
assert {1} == setx, '- error'

setx = set1.union(set2)
assert {1, 2, 3, 4} == setx, '| error'

setx = set1.intersection(set2)
assert {2, 3} == setx, '& error'

setx = set1.symmetric_difference(set2)
assert {1, 4} == setx, '^ error'

pass

3.set的構(gòu)造方法, in,enumerate

def test_3():
# 方法:set(p), in,enumerate
set1 = set()
assert set() == set1, 'set() error'

set1 = set([1, 2])
assert {1, 2} == set1, '[1,2] error'

set1 = set((1, ))
assert {1} == set1, r'{1} error'

set1 = set('abc')
assert {'a', 'b', 'c'} == set1, 'abc error'

set_indexs = [i for i, v in enumerate(set1)]
assert [0, 1, 2] == set_indexs, 'enumerate error'
pass

4.sorted

def test_4():
# sorted
set1 = {'b', 'a', 'c'}
sorted(set1)
assert {'a', 'b', 'c'} == set1, 'sorted error'
pass

5.淺復(fù)制與深復(fù)制

import copy

class Person:

def __init__(self, a: int, b: int):
self.a = a
self.b = b

pass


def test_5():
# 淺復(fù)制 和 深度復(fù)制
set1 = {1, Person(2, 3)}
set2 = {i for i in set1}
set2.update({4})
assert not {4}.issubset(set1), 'copy 1 error'
assert {4}.issubset(set2), 'copy 2 error'

set2 = set1.copy()
for i in set2:
if type(i) == Person:
i.a = 4
p1: Person = [i for i in set1 if type(i) == Person][0]
p2: Person = [i for i in set2 if type(i) == Person][0]

assert 4 == p1.a, 'copy 3 error'
assert 4 == p2.a, 'copy 4 error'

set1 = {1, Person(2, 3)}
set2 = copy.deepcopy(set1)
for i in set2:
if type(i) == Person:
i.a = 4
p3: Person = [i for i in set1 if type(i) == Person][0]
p4: Person = [i for i in set2 if type(i) == Person][0]

assert 2 == p3.a, 'copy 3 error'
assert 4 == p4.a, 'copy 4 error'

pass


6.去重之后保證之前的順序

def test_6():
'''
set 去重,并且保證之前的順序
'''
list1 = [1, 2, 7, 2, 5]
list2 = list(set(list1))
assert [1, 2, 5, 7] == list2, 'set sort error'
list2.sort(key=list1.index)
assert [1, 2, 7, 5] == list2, 'set sort 2 error'


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4848

    瀏覽量

    88953
  • ASSERT
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    7598
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    大彩講堂:VisualHMI-LUA教程-set_bit/get_bit函數(shù)應(yīng)用

    set_bit/get_bit函數(shù)應(yīng)用
    的頭像 發(fā)表于 08-31 17:05 ?419次閱讀
    大彩講堂:VisualHMI-LUA教程-<b class='flag-5'>set</b>_bit/get_bit函數(shù)應(yīng)用

    termux調(diào)試python猜數(shù)字游戲

    用termux做一個(gè)猜數(shù)字游戲 下面是在Termux中創(chuàng)建猜數(shù)字游戲的步驟及完整實(shí)現(xiàn)方案,結(jié)合Python實(shí)現(xiàn)(最適配Termux環(huán)境): ? 一、環(huán)境準(zhǔn)備(Termux基礎(chǔ)配置) 1.
    發(fā)表于 08-29 17:15

    termux如何搭建python游戲

    戲開發(fā)流程 以Pygame為例,創(chuàng)建一個(gè)基礎(chǔ)窗口: ```python import pygame pygame.init() screen = pygame.display.set
    發(fā)表于 08-29 07:06

    【創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗(yàn)】7、python測(cè)試

    : print( \"\"\"使用方法: python3 sound_test.py <music_name.mp3> example
    發(fā)表于 08-05 11:09

    linux虛擬環(huán)境中調(diào)用Linux 版matlab編譯的python庫時(shí)出錯(cuò)

    、readme.txt、 requiredMCRProducts.txt、init.py、CAO_python.ctf。 在linux環(huán)境中按照以下步驟安裝matlab runtime2018b: ① cd到MCR
    發(fā)表于 07-18 10:40

    基礎(chǔ)篇3:掌握Python中的條件語句與循環(huán)

    Python編程語言中,條件語句和循環(huán)是構(gòu)成復(fù)雜邏輯和數(shù)據(jù)處理的基石。本篇基礎(chǔ)教程將幫助您深入了解Python中的條件語句和循環(huán)結(jié)構(gòu),讓您能夠更好地控制程序流程。 條件語句 條件語句允許程序根據(jù)
    發(fā)表于 07-03 16:13

    harmony-utilsArrayUtil,集合工具類

    # harmony-utilsArrayUtil,集合工具類 ## harmony-utils 簡(jiǎn)介與說明 ------[harmony-utils]( https
    的頭像 發(fā)表于 06-26 17:38 ?239次閱讀

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    在這篇文章中,我將為你簡(jiǎn)要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運(yùn)行一個(gè)簡(jiǎn)單的Python程序。什么是Python程序?
    的頭像 發(fā)表于 03-25 09:27 ?1270次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行<b class='flag-5'>Python</b>程序?

    DLP4710EVM-LC兩個(gè)條紋集合投影沖突怎么解決?

    如圖所示,我將條紋圖寫入投影儀用于投影,當(dāng)只有一個(gè)條紋集合時(shí)投影正常,因?yàn)橐粋€(gè)集合最多投影7張圖片,而我需要投影22張; 當(dāng)設(shè)置的條紋集合超過一個(gè)時(shí),點(diǎn)擊連續(xù)投影,投影儀投影的圖片就會(huì)出現(xiàn)一閃而過的情況,并且即使按了暫停也沒有
    發(fā)表于 02-19 08:36

    Python繪圖Matplotlib快速參考手冊(cè)

    ?PYTHON
    發(fā)表于 02-07 14:04 ?0次下載

    使用Python實(shí)現(xiàn)xgboost教程

    使用Python實(shí)現(xiàn)XGBoost模型通常涉及以下幾個(gè)步驟:數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練、模型評(píng)估和模型預(yù)測(cè)。以下是一個(gè)詳細(xì)的教程,指導(dǎo)你如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發(fā)表于 01-19 11:21 ?1971次閱讀

    AN42-基準(zhǔn)電壓源電路集合

    電子發(fā)燒友網(wǎng)站提供《AN42-基準(zhǔn)電壓源電路集合.pdf》資料免費(fèi)下載
    發(fā)表于 01-08 14:33 ?22次下載
    AN42-基準(zhǔn)電壓源電路<b class='flag-5'>集合</b>

    Java集合API的改進(jìn)介紹

    簡(jiǎn)介 本文我們將探討不同 jdk 版本中各類的起源,以及新引入的類和接口背后的目的。我們將分析之前版本存在的問題,以及為何需要引入新的類或接口。此外,我們還將介紹集合類和接口中的新特性。文章將逐一
    的頭像 發(fā)表于 11-22 11:12 ?765次閱讀
    Java<b class='flag-5'>集合</b>API的改進(jìn)介紹

    如何使用Python構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型

    構(gòu)建一個(gè)LSTM(長(zhǎng)短期記憶)神經(jīng)網(wǎng)絡(luò)模型是一個(gè)涉及多個(gè)步驟的過程。以下是使用Python和Keras庫構(gòu)建LSTM模型的指南。 1. 安裝必要的庫 首先,確保你已經(jīng)安裝了Python和以下庫
    的頭像 發(fā)表于 11-13 10:10 ?1976次閱讀

    使用Python進(jìn)行圖像處理

    下面是一個(gè)關(guān)于使用Python在幾行代碼中分析城市輪廓線的快速教程。
    的頭像 發(fā)表于 11-07 10:14 ?767次閱讀
    使用<b class='flag-5'>Python</b>進(jìn)行圖像處理