日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础知识(第三天)

發布時間:2025/3/21 python 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础知识(第三天) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

33.可變字符串

可變字符串

在 Python?中,字符串屬于不可變對象,不支持原地修改,如果需要修改其中的值,智能創建新的字符串對象。但是,經常我們確實需要原地修改字符串,可以使用 io.StringIO 對象或 array?模塊。

34.運算符總結_位操作符_優先級問題?

運算符總結

? 左移一位乘以2,右移一位除以2

優先級問題?

乘除優先加減

位運算和算數運算>比較運算符> 賦值運算符

35.列表_特點_內存分析

序列

序列是一種數據存儲方式,用來存儲一系列的數據。在內存中,序列就是一塊用來存放多個值的連續的內存空間。

從圖示中,我們可以看出序列中存儲的是整數對象的地址,而不是整數對象的值。python 中常用的序列結構有:字符串、列表、元組、字典、集合。

列表簡介

列表:用于存儲任意數目、任意類型的數據集合。?

方法

要點

描述

list.append(x)

增加元素

將元素 x 增加到列表 list 尾部

list.extend(aList)

增加元素

將列表 alist 所有元素加到列表 list 尾部

list.insert(index,x)

增加元素

在列表 list 指定位置 index 處插入元素 x

list.remove(x)

刪除元素

在列表 list 中刪除首次出現的指定元素 x

list.pop([index])

刪除元素

刪除并返回列表 list 指定為止 index 處的元素,默認是

最后一個元素

list.clear()

刪除所有元素

刪除列表所有元素,并不是刪除列表對象

list.index(x)

訪問元素

返回第一個 x?的索引位置,若不存在 x?元素拋出異常

list.count(x)

計數

返回指定元素 x 在列表 list 中出現的次數

len(list)

列表長度

返回列表中包含元素的個數

list.reverse()

翻轉列表

所有元素原地翻轉

list.sort()

排序

所有元素原地排序

list.copy()

淺拷貝

返回列表對象的淺拷貝

Python 的列表大小可變,根據需要隨時增加或縮小。

36.創建列表的4種方式_推導式創建列表

列表的創建

(1)基本語法[]創建

(2)list()創建

(3)range()創建整數列表? ?range都是左閉右開

range()可以幫助我們非常方便的創建整數列表,這在開發中及其有用。語法格式為:range([start,] end [,step])

(4)推導式生成列表

a?= [x*2 for x in?range(5)]

a = [x*2 for x in range(100) if x%9==0]

37.列表_元素的5種添加方式_效率問題

列表元素的增加和刪除? ? ? ?

? ? ? ? 當列表增加和刪除元素時,列表會自動進行內存管理,大大減少了程序員的負擔。但這個特點涉及列表元素的大量移動,效率較低。除非必要,我們一般只在列表的尾部添加元素或刪除元素,這會大大提高列表的操作效率。

(1)append()方法

原地修改列表對象,是真正的列表尾部添加新的元素,速度最快,推薦使用。

(2)+運算符操作

并不是真正的尾部添加元素,而是創建新的列表對象;將原列表的元素和新列表的元素依次復制到新的列表對象中。這樣,會涉及大量的復制操作,對于操作大量元素不建議使用。

(3)extend()方法

將目標列表的所有元素添加到本列表的尾部,屬于原地操作,不創建新的列表對象。

(4)insert()插入元素

使用 insert()方法可以將指定的元素插入到列表對象的任意制定位置。這樣會讓插入位置后面所有的元素進行移動,會影響處理速度。涉及大量元素時,盡量避免使用。類似發生這種移動的函數還有:remove()、pop()、del(),它們在刪除非尾部元素時也會發生操作位置后面元素的移動。

(5)乘法擴展

使用乘法擴展列表,生成一個新列表,新列表元素時原列表元素的多次重復。

38.列表_元素刪除的三種方式_刪除本質是數組元素拷貝

?列表元素的刪除

(1)del刪除

(2)pop()方法

pop()刪除并返回指定位置元素,如果未指定位置則默認操作列表最后一個元素。

(3)remove()方法

刪除首次出現的指定元素,若不存在該元素拋出異常。

39.列表_元素的訪問_元素出現次數統計_成員資格判斷

通過索引直接訪問元素

我們可以通過索引直接訪問元素。索引的區間在[0, 列表長度-1]這個范圍。超過這個范圍則會拋出異常。

index()獲得指定元素在列表中首次出現的索引

index()可以獲取指定元素首次出現的索引位置。語法是:a.index(value,[start,[end]])。

count()獲得指定元素在列表中出現的次數

a.count(20)

len()返回列表長度

len()返回列表長度,即列表中包含元素的個數。

成員資格判斷

我們會使用更加簡潔的 in?關鍵字來判斷,直接返回 True 或 False。

40.列表_切片slice操作

切片操作

切片 slice?操作可以讓我們快速提取子列表或修改。標準格式為: [起始偏移量 start:終止偏移量 end[:步長 step]]? ? ? ?左閉右開

操作和說明

示例

結果

[:] 提取整個列表

[10,20,30][:]

[10,20,30]

[start:] 從 start 索引開始到

結尾

[10,20,30][1:]

[20,30]

[:end]從頭開始知道 end-1

[10,20,30][:2]

[10,20]

[start:end]從start 到end-1

[10,20,30,40][1:3]

[20,30]

[start:end:step] 從 start 提

取到 end-1,步長是 step

[10,20,30,40,50,60,70][1:6:

2]

[20, 40,?

示例

說明

結果

[10,20,30,40,50,60,70][-3:]

倒數三個

[50,60,70]

10,20,30,40,50,60,70][-5:-3]

倒數第五個到倒數

第三個(包頭不包尾)

[30,40]

[10,20,30,40,50,60,70][::-1]

步長為負,從右到左

反向提取

[70, 60, 50, 40, 30, 20, 10]

切片操作時,起始偏移量和終止偏移量不在[0,字符串長度-1]這個范圍,也不會報錯。起始偏移量小于 0 則會當做 0,終止偏移量大于“長度-1”會被當成”長度-1”。

列表的遍歷

for obj in listObj:

print(obj)

復制列表所有的元素到新列表對象

我們可以通過如下簡單方式,實現列表元素內容的復制:

list1?= [30,40,50]

list2 = [] + list1

41.列表_排序_revered逆序_max_min_sum

列表排序(修改原列表,不建新列表的排序)

a.sort()? ? ? ? ? ? ? ? ? ? #默認是升序排列

a.sort(reverse=True)? ? ? ? ? ? ? ? ? ? ? #降序排列

>>> import random? ? ? ? ? ? ? #打亂順序

>>> random.shuffle(a)? ? ? ?

建新列表的排序

>>> a?= sorted(a)? ? ? ? ? ? ? ? ?#默認升序

reversed()返回迭代器

c=reversed(a)

list(c)

只能使用一次

max 和 min

sum

對數值型列表的所有元素進行求和操作,對非數值型列表運算則會報錯。

42.列表_二維列表_表格數據的存儲和讀取

二維列表

a = [? ? ? ?["高小一",18,30000,"北京"],

? ? ? ? ? ? ? ["高小二",19,20000,"上海"],

? ? ? ? ? ? ? ["高小五",20,10000,"深圳"],? ? ? ? ]

a[0][0]

內存結構圖:

?

43.元組_特點_創建的兩種方式_tuple()要點

元組 tuple

列表屬于可變序列,可以任意修改列表中的元素。元組屬于不可變序列,不能修改元組中的 ???元素。因此,元組沒有增加元素、修改元素、刪除元素相關的方法。因此,我們只需要學習元組的創建和刪除,元組中元素的訪問和計數即可。元組支持如下操作:

索引訪問

切片操作

連接操作

成員關系操作

比較運算操作

計數:元組長度 len()、最大值 max()、最小值 min()、求和 sum()等。

元組的創建

(1)通過()創建元組? 小括號可以省略

a?=?(10,20,30) 或者 a =?10,20,30

如果元組只有一個元素,則必須后面加逗號。這是因為解釋器會把(1)解釋為整數 1,(1,) 解釋為元組。

(2)通過 tuple()創建元組

b?= tuple("abc")

b = tuple(range(3))? ? b = tuple([2,3,4])

44.元組_元素訪問_計數方法_切片操作_成員資格判斷_zip()

元組的元素訪問和計數

1.元組的元素不能修改

2.元組的元素訪問和列表一樣,只不過返回的仍然是元組對象。

3.列表關于排序的方法 list.sorted()是修改原列表對象,元組沒有該方法。如果要對元組排序,只能使用內置函數 sorted(tupleObj),并生成新的列表對象。

zip

zip(列表 1,列表 2,...)將多個列表對應位置的元素組合成為元組,并返回這個 zip 對象。

45.元組_生成器推導式創建元組_總結

生成器推導式創建元組

從形式上看,生成器推導式與列表推導式類似,只是生成器推導式使用小括號。列表推導式直接生成列表對象,生成器推導式生成的不是列表也不是元組,而是一個生成器對象。 ???

我們可以通過生成器對象,轉化成列表或者元組。也可以使用生成器對象的?next__()方法進行遍歷,或者直接作為迭代器對象來使用。不管什么方式使用,元素訪問結束后,如果需要重新訪問其中的元素,必須重新創建該生成器對象。

?

元組總結

1.元組的核心特點是:不可變序列。

2.元組的訪問和處理速度比列表快。

3.與整數和字符串一樣,元組可以作為字典的鍵,列表則永遠不能作為字典的鍵使用。

總結

以上是生活随笔為你收集整理的Python基础知识(第三天)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。