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之列表list方法分類整理

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

掃碼添加小助手

加入工程師交流群

題記

將自帶的方法分類整理、驗(yàn)證并做成例子, 方便記憶與理解

起初

是為了方便自己查找, 后來因?yàn)樵絹碓绞軞g迎, 所以分享出來

基本的增刪改查,insert,pop

def test_1():
# 增刪改查,增和刪
list1 = ['a', 'b', 'c']
list1.append('d')
assert ['a', 'b', 'c', 'd'] == list1, 'append error'
del list1[0]
assert ['b', 'c', 'd'] == list1, 'del error'
list1[0] = 'e'
assert ['e', 'c', 'd'] == list1, 'update error'
c = list1[1]
assert 'c' == c, 'query error'

list1.insert(1, 'f')
assert ['e', 'f', 'c', 'd'] == list1, 'insert error'
list1.pop(1)
assert ['e', 'c', 'd'] == list1, 'pop error'
list1.pop()
assert ['e', 'c'] == list1, 'pop 2 error'

2.list方法, +操作符, in, enumerate

def test_2():
# 方法:list(p), + , in,enumerate
list1 = list('abc')
assert ['a', 'b', 'c'] == list1, 'list(p) 方法錯(cuò)誤'
list1 = list1 + ['d', 'e']
assert ['a', 'b', 'c', 'd', 'e'] == list1, 'list相加錯(cuò)誤'
assert 'a' in list1, 'list的in操作錯(cuò)誤'

list2 = list({'name': 'a', 'age': 19})
assert ['name', 'age'] == list2, 'list(p) 方法錯(cuò)誤'

indexs = [i for i, _ in enumerate(list2)]
assert [0, 1] == indexs, 'enumerate error'

3. append和extend

def test_3():
# append 和 extend
list1 = ['a', 'b', 'c']
list2 = ['d', 'e']
list_append = list1.copy()
list_append.append(list2)
assert ['a', 'b', 'c', ['d', 'e']] == list_append, 'list append方法錯(cuò)誤'
list_extend = list1.copy()
list_extend.extend(list2)
assert ['a', 'b', 'c', 'd', 'e'] == list_extend, 'list extentd 方法錯(cuò)誤'

4.index 和 sort方法

def test_4():
# list.index(obj),sort
list1 = ['b', 'c', 'a']
i = 0
for v in list1:
assert list1.index(v) == i, f'list index方法錯(cuò)誤 i:{i},v:{v}'
i += 1

list1.sort()
assert ['a', 'b', 'c'] == list1, 'list sort 方法錯(cuò)誤'
list1.sort(reverse=True)
assert ['c', 'b', 'a'] == list1, 'list sort reverse 方法錯(cuò)誤'

list2 = [{
'name': 'b',
'age': 20
}, {
'name': 'a',
'age': 18
}, {
'name': 'b',
'age': 19
}]
list2.sort(key=lambda kv: kv['name'])
assert {'name': 'a', 'age': 18} == list2[0], 'list sort key方法錯(cuò)誤'
list2.sort(key=lambda kv: kv['age'])
assert [{
'name': 'a',
'age': 18
}, {
'name': 'b',
'age': 19
}, {
'name': 'b',
'age': 20
}] == list2, 'list sort key 方法錯(cuò)誤'
list2.sort(key=lambda kv: (kv['name'], kv['age']))
assert [{
'name': 'a',
'age': 18
}, {
'name': 'b',
'age': 19
}, {
'name': 'b',
'age': 20
}] == list2, 'list sort key 方法錯(cuò)誤'

5.淺復(fù)制和深度復(fù)制

import copy

def test_5():
# 淺復(fù)制 和 深度復(fù)制
# 只有l(wèi)ist1中的數(shù)據(jù)是引用類型的時(shí)候,才會(huì)考慮deepcopy,否則,平常的copy就行
# 也就是說,如果只是修改a,b,c, list3,list4,list5 都不會(huì)影響list1
list1 = ['a', 'b', 'c', ['e', 'f']]
list2 = list1
list3 = list1[:]
list4 = list1.copy()
list5 = [i for i in list1]
list6 = copy.deepcopy(list1)

assert id(list1) == id(list2), '== error'
assert id(list1) != id(list3), '[:] error'
assert id(list1) != id(list4), 'list copy error'
assert id(list1) != id(list5), 'for error'
assert id(list1) != id(list6), 'deepcopy error'

list6[3][0] = 'd'
assert ['a', 'b', 'c', ['e', 'f']] == list1, 'deepcopy 1 error'
assert ['a', 'b', 'c', ['d', 'f']] == list6, 'deepcopy 2 error'

6.倒著刪除: 為了防止刪除時(shí)報(bào)錯(cuò)或者數(shù)據(jù)不對(duì)

# 正確的刪除方式
def test_6():
list1 = ['a', 'b', 'c', 'd']
for i in range(len(list1) - 1, -1, -1):
del list1[i]
assert [] == list1, 'list delete error'
# 錯(cuò)誤的方式
def test_7():
# 不要這樣刪除:https://blog.51cto.com/u_14246112/3157689
list1 = ['a', 'b', 'c']
for i in list1:
list1.remove(i)
# 本意是刪除所有元素,但是刪除的過程中列表發(fā)生了位移,所以刪除了 a和c
assert ['b'] == list1, 'list delete 2 error'

7.拆分: n:小集合的長(zhǎng)度為n

def test_8():
a1 = [i for i in range(100)]
s1 = split_list_by_size(a1, 7)
# 每個(gè)小集合應(yīng)該都是7,最后一個(gè)是小于等于7
assert len(s1[-1]) <= 7, 'split size 1 error'
s1.pop()
for i in s1:
assert len(i) == 7, 'split size 2 error'

def split_list_by_size(raw_list, n):
# n:小集合的長(zhǎng)度為n
l = len(raw_list)
return [raw_list[i:i + n] for i in range(0, l, n)]
8. 拆分: n:有多少個(gè)小集合

def test_9():
a1 = [i for i in range(100)]
s1 = split_list_by_number(a1, 7)
# 大集合中有7個(gè)小集
assert len(s1) == 7, 'split number 2 error'

def split_list_by_number(raw_list, n):
# n:有多少個(gè)小集合
l = len(raw_list)
s = int(l / n) + 1
return [raw_list[i:i + s] for i in range(0, l, s)]


審核編輯:劉清

聲明:本文內(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

    文章

    4827

    瀏覽量

    86793
  • 操作符
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    HarmonyOS NEXT應(yīng)用元服務(wù)常見列表操作分組吸頂場(chǎng)景

    覆蓋城市列表上方,再給對(duì)應(yīng)List添加sticky屬性和onScrollIndex()方法,實(shí)現(xiàn)兩個(gè)列表數(shù)據(jù)間的聯(lián)動(dòng)效果。 開發(fā)步驟 城市列表
    發(fā)表于 07-03 15:54

    HarmonyOS NEXT應(yīng)用元服務(wù)常見列表操作二級(jí)聯(lián)動(dòng)

    二級(jí)聯(lián)動(dòng)場(chǎng)景 場(chǎng)景描述 通過左邊一級(jí)列表的選擇,聯(lián)動(dòng)更新右邊二級(jí)列表的數(shù)據(jù),常用于商品分類選擇、編輯風(fēng)格等二級(jí)類別選擇頁面。 本場(chǎng)景以商品分類列表
    發(fā)表于 07-02 10:29

    HarmonyOS NEXT應(yīng)用元服務(wù)常見列表操作多類型列表項(xiàng)場(chǎng)景

    場(chǎng)景描述 List組件作為整個(gè)首頁長(zhǎng)列表的容器,通過ListItem對(duì)不同模塊進(jìn)行視圖界面定制,常用于門戶首頁、商城首頁等多類型視圖展示的列表信息流場(chǎng)景。 本場(chǎng)景以應(yīng)用首頁為例,將除頁面頂部搜索框
    發(fā)表于 06-30 15:11

    《仿盒馬》app開發(fā)技術(shù)分享-- 分類右側(cè)商品列表(18)

    中可能會(huì)點(diǎn)擊不同的條目。我們想要的效果是頂部的類目切換,左側(cè)的列表優(yōu)先選中第一個(gè),同時(shí)展示第一個(gè)分類的對(duì)應(yīng)商品 所以在監(jiān)聽方法中我們還要把pos初始化為0,同時(shí)重新查詢左側(cè)列表,因?yàn)樵?/div>
    發(fā)表于 06-30 12:00

    《仿盒馬》app開發(fā)技術(shù)分享-- 分類左側(cè)列表(17)

    技術(shù)棧 Appgallery connect 開發(fā)準(zhǔn)備 上一節(jié)我們實(shí)現(xiàn)了分類頁面的頂部導(dǎo)航欄全選彈窗列表,并實(shí)現(xiàn)了跟頂部列表的點(diǎn)擊選中聯(lián)動(dòng)效果,這一節(jié)我們要實(shí)現(xiàn)的功能是,分類模塊的左側(cè)
    發(fā)表于 06-30 10:55

    《仿盒馬》app開發(fā)技術(shù)分享-- 分類模塊頂部導(dǎo)航列表彈窗(16)

    的index傳遞進(jìn)去,選中狀態(tài)要保持同步。同時(shí)在彈窗內(nèi)選擇分類,外部列表也要同步切換,并且每次切換都要在list允許居中的情況下實(shí)現(xiàn)選中的item居中。 代碼實(shí)現(xiàn) 首先實(shí)現(xiàn)彈窗的創(chuàng)建數(shù)據(jù)的傳入,和選擇后
    發(fā)表于 06-30 10:34

    《仿盒馬》app開發(fā)技術(shù)分享-- 分類模塊頂部導(dǎo)航列表(15)

    ,這一節(jié)我們要改造的內(nèi)容是分類頁,這個(gè)頁面我們?cè)谥暗姆嵌嗽埔惑w化項(xiàng)目中實(shí)現(xiàn)過?,F(xiàn)在要改造成端云一體的模式,并且我們的金剛區(qū)也要實(shí)現(xiàn)分類頁的點(diǎn)擊聯(lián)動(dòng) 功能分析 1.分類列表
    發(fā)表于 06-30 10:31

    HarmonyOS NEXT應(yīng)用元服務(wù)常見列表操作Tabs吸頂場(chǎng)景

    的內(nèi)容,并對(duì)頁面內(nèi)容進(jìn)行分類,提高頁面空間利用率。 通過Tabs組件,配合使用Stack、Scroll、Search以及List等基礎(chǔ)組件構(gòu)建完整頁面,再使用List組件的nestedScroll屬性
    發(fā)表于 06-28 15:07

    HarmonyOS NEXT應(yīng)用元服務(wù)布局優(yōu)化長(zhǎng)列表使用懶加載與組件復(fù)用

    數(shù)據(jù)如下 可以發(fā)現(xiàn)列表滑動(dòng)時(shí)丟幀率明顯降低,這是因?yàn)椋?b class='flag-5'>List列表開啟了組件復(fù)用,不會(huì)執(zhí)行BuildLazyItem這個(gè)耗時(shí)操作,后續(xù)創(chuàng)建新組件節(jié)點(diǎn)時(shí),會(huì)直接復(fù)用緩存區(qū)中的節(jié)點(diǎn),這樣就大幅節(jié)約了組件重新創(chuàng)建的時(shí)間。 本文主要引用
    發(fā)表于 06-27 16:08

    創(chuàng)建列表 (List) 介紹,一起來看看是做什么的

    創(chuàng)建列表 (List) 列表是一種復(fù)雜的容器,當(dāng)列表項(xiàng)達(dá)到一定數(shù)量,內(nèi)容超過屏幕大小時(shí),可以自動(dòng)提供滾動(dòng)功能。它適合用于呈現(xiàn)同類數(shù)據(jù)類型或數(shù)據(jù)類型集,例如圖片和文本。在
    發(fā)表于 04-30 07:06

    Demo示例: List的使用

    List 列表包含一系列相同寬度的列表項(xiàng)。適合連續(xù)、多行呈現(xiàn)同類數(shù)據(jù),例如圖片和文本。 子組件 僅支持ListItem、ListItemGroup子組件。 常用接口 List(v
    發(fā)表于 04-28 06:49

    Python中的迭代器與生成器

    Python迭代器與生成器 列表生成式 列表生成式也叫做列表推導(dǎo)式,它本身還是列表,只不過它是根據(jù)我們定義的規(guī)則來生成一個(gè)真實(shí)的
    的頭像 發(fā)表于 02-20 10:43 ?394次閱讀

    電話配線架怎么整理好看

    斷開與電話配線架相關(guān)的電源和通信連接,以避免在整理過程中發(fā)生意外。 準(zhǔn)備工具: 準(zhǔn)備必要的工具,如剝線刀、打線刀、扎帶、IDC配線架模塊等,以便在整理過程中使用。 二、整理步驟 分類
    的頭像 發(fā)表于 02-19 11:34 ?498次閱讀

    Python中dict支持多個(gè)key的方法

    ? 在Python中,字典(dict)是一種非常強(qiáng)大的數(shù)據(jù)結(jié)構(gòu),它允許我們通過鍵(key)來存儲(chǔ)和檢索值(value)。有時(shí)候,我們可能想要根據(jù)多個(gè)鍵來檢索或操作字典中的數(shù)據(jù)。雖然Python的字典
    的頭像 發(fā)表于 11-29 15:59 ?539次閱讀

    雷達(dá)的基本分類方法

    電子發(fā)燒友網(wǎng)站提供《雷達(dá)的基本分類方法.pdf》資料免費(fèi)下載
    發(fā)表于 09-11 09:09 ?6次下載