成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

python中的list,tuple,set和dict(參考python文檔)

NervosNetwork / 1415人閱讀

摘要:聲明一個很簡單,只需盡量不要將變量名起為關(guān)鍵字。有如下基本方法在的末尾添加一個元素,并且返回將另一個的對象添加到尾部,返回值為。返回值為刪掉的元素。為一個表達(dá)式,傳入當(dāng)前元素,返回時依據(jù)德關(guān)鍵字。

1.list

聲明一個list很簡單,只需list1=[](盡量不要將變量名起為關(guān)鍵字list)。
list有如下基本方法:

(1)append(x) 在list的末尾添加一個元素x,并且返回None

list1 = [1, 2, 3, 4]
r = list1.append(5)
print(list1, r)
#[1, 2, 3, 4, 5] None

(2)extend(iterable) 將另一個iterable的對象添加到list尾部,返回值為None。

list1 = [1, 2, 3, 4]
r = list1.extend([5, 6, 7, 8])
print(list1, r)
#[1, 2, 3, 4, 5, 6, 7, 8] None

(3)insert(i,x) 將元素x插入到索引i處,返回值為None。

list1 = [1, 2, 3, 4]
r = list1.insert(4, 5)
print(list1, r)
#[1, 2, 3, 4, 5] None

(4)remove(x) 刪除值為x的元素(值而非索引),刪除成功返回None,若沒有x則報錯

list1 = [1, 2, 3, 4]
r = list1.remove(3)
print(list1, r)
#[1, 2, 4] None


list1 = [1, 2, 3, 4]
r = list1.remove(5)
print(list1, r)


Traceback (most recent call last):
  File "E:/Programs/python/data-structure/list-demo.py", line 2, in 
    r = list1.remove(5)
ValueError: list.remove(x): x not in list

(5)pop([i]) 如果傳入?yún)?shù)i,刪除索引i處元素。如果不傳參,刪除尾部的元素。返回值為刪掉的元素。

list1 = [1, 2, 3, 4]
r = list1.pop(3)
print(list1,r)

#[1, 2, 3] 4

(6)clear() 清空數(shù)組所有元素,返回None。相當(dāng)于list1[:]=[]以及del list1[:]

list1 = [1, 2, 3, 4]
r = list1.clear()
print(list1, r)

#[] None

(7)count(x) 返回x在list中出現(xiàn)的次數(shù)

list1 = [1, 2, 3, 4, 1, 2, 3, 4, 2, 4]
r = list1.count(4)
print(r)

#3

(8)sort(key=None, reverse=False) 默認(rèn)從小到大,如果reverse設(shè)為True則為從大到小。key為一個lambda表達(dá)式,傳入當(dāng)前元素,返回sort時依據(jù)德關(guān)鍵字。

list1 = [{"age": 20}, {"age": 15}, {"age": 18}, {"age": 25}]
list1.sort(key=lambda stu: stu["age"])
print(list1)

(9)reverse() 反轉(zhuǎn)數(shù)組

list1 = [1, 2, 3, 4, 5]
list1.reverse()
print(list1)

#[5, 4, 3, 2, 1]

(10)copy() 淺拷貝數(shù)組,相當(dāng)于list1[:]

list1 = [1, 2, 3, 4, {"name": "John"}]
list2 = list1.copy()
list2[4]["name"] = "Mike"
print(list1 is list2)
print(list1)
print(list2)

#
False
[1, 2, 3, 4, {"name": "Mike"}]
[1, 2, 3, 4, {"name": "Mike"}]

以上為list常用方法。
list可以作為棧使用。

>>> stack = [3, 4, 5]
>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]
>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]
(官網(wǎng)代碼)

也可以作為隊列使用,但是需要導(dǎo)入collections包的deque

>>> from collections import deque
>>> queue = deque(["Eric", "John", "Michael"])
>>> queue.append("Terry")           # Terry arrives
>>> queue.append("Graham")          # Graham arrives
>>> queue.popleft()                 # The first to arrive now leaves
"Eric"
>>> queue.popleft()                 # The second to arrive now leaves
"John"
>>> queue                           # Remaining queue in order of arrival
deque(["Michael", "Terry", "Graham"])

初始化list的小竅門:

list1 = [x ** 2 for x in range(10)]
print(list1)
#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list2 = [num for sub in list1 for num in sub]
print(list1)
print(list2)
#[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

list1 = [(x, y) for x in range(1, 4) for y in range(x, 4)]
print(list1)
#[(1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)]

matrix = [[1, 2, 4, 5], [5, 6, 7, 8], [9, 10, 11, 12]]
r = [[row[i] for row in matrix] for i in range(4)]
print(r)
#[[1, 5, 9], [2, 6, 10], [4, 7, 11], [5, 8, 12]](官網(wǎng)案例)

del語句:del arr[i]刪除索引為i的元素,del arr[:]為清空數(shù)組,del arr[i:j]為清空i到j(luò)之前的元素,包括i不包括j。

遍歷方式

list1 = [1, 2, 3, 4, 5, 6, 7, 8]

for i in range(len(list1)):
    print(i, list1[i])

for i, val in enumerate(list1):
    print(i, val)
2.tuple

tuple1 = () 此時tuple1為tuple類型
tuple2 = (1) 此時tuple2非tuple類型,而是int類型
tuple3 = 1, 或者 tuple3 = (1,) 此時tuple3為tuple類型

tuple1 = ()
tuple2 = (1)
tuple3 = 1,
tuple4 = 1, 2, 3, 4
tuple5 = tuple4, 5
print(type(tuple1))
print(type(tuple2))
print(type(tuple3))
print(type(tuple4))
print(tuple5)

#



((1, 2, 3, 4), 5)

tuple可以使用切片,但是tuple不可變,不能給其中元素重新賦值。

tuple1 = 1, 2, 3, 4, 5, 6
tuple1[2] = 5

#Traceback (most recent call last):
  File "E:/Programs/python/data-structure/list-demo.py", line 2, in 
    tuple1[2] = 5
TypeError: "tuple" object does not support item assignment

可以通過以下代碼實現(xiàn)兩個變量值的互換

x = 5
y = 6

x, y = y, x
print(x)
print(y)

#6
5
3.set

執(zhí)行set1={}這種語句,set1的類型為dict而非set

set1 = {}
print(type(set1))

#

當(dāng)用set構(gòu)造函數(shù)創(chuàng)建set時要注意以下的問題:

set1 = set("abcedfg")
print(set1)

#{"f", "c", "g", "e", "b", "a", "d"}

set是無序的,并且其中沒有重復(fù)元素,因此可以通過set實現(xiàn)去重。

list1 = [1, 1, 2, 3, 4, 4, 5, 6, 6, 7]
print(list(set(list1)))

#[1, 2, 3, 4, 5, 6, 7]

set可以進(jìn)行求交集,并集,差集,以及找出只存在于其中一個的元素集合

a = set("abracadabra")
b = set("alacazam")

print(a)
print(b)

print(a & b)
print(a | b)
print(a - b)
print(a ^ b)

#
{"r", "b", "a", "c", "d"}
{"z", "a", "m", "c", "l"}
{"c", "a"}
{"z", "r", "b", "a", "m", "c", "d", "l"}
{"r", "b", "d"}
{"z", "m", "r", "b", "d", "l"}
4.dict

初始化dict,需要將key與value都加上引號:

dict1 = {"name": "Jero", "age": 20}

獲取可采用更簡單的方法

dict2 = dict(name="Jero", age=20)

遍歷dict時,有如下選擇

dict1 = {"name": "Jero", "age": 20, "gender": "male"}

for i in dict1:
    print(i, dict1[i])
#name Jero
age 20
gender male


for val in dict1.values():
    print(val)
#Jero
20
male


for key, val in dict1.items():
    print(key, val)

運(yùn)算:

list1 = [1, 2, 3]
list2 = [4, 5, 6]

print(list1 * 2)

list1 += list2

print(list1)

#[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/44585.html

相關(guān)文章

  • 記錄我的Python學(xué)習(xí)筆記

    摘要:本文是通過廖雪峰的網(wǎng)站學(xué)習(xí)而整理的真的是很好的教程,省得我花錢買書了,然后我沒有去再整理總結(jié)語法,而是直接通過寫出代碼段來體現(xiàn)自己的學(xué)習(xí),也方便以后的快速復(fù)習(xí)回顧。 不想再像以前那樣,什么都從頭開始學(xué)習(xí)語法、總結(jié)語法,這樣反而會過分糾結(jié)于語法,耽誤了開發(fā),畢竟語言的主要屬性是工具,次要的屬性是語言本身。 所以還是先熟練使用語言去進(jìn)行開發(fā),等足夠熟悉了,再去研究語言本身(編譯原理……)。...

    lijy91 評論0 收藏0
  • Python零基礎(chǔ)到入門】Python基礎(chǔ)語法篇——基本數(shù)據(jù)類型【文末送書】

    摘要:布爾值布爾值和布爾代數(shù)的表示完全一致,一個布爾值只有兩種值的數(shù)據(jù)類型可以通過內(nèi)置的函數(shù)查詢,例如還可以用來判斷和的區(qū)別在于不會認(rèn)為子類是一種父類類型。會認(rèn)為子類是一種父類類型?;竟δ苁沁M(jìn)行成員關(guān)系測試和刪除重復(fù)元素。 ...

    Winer 評論0 收藏0
  • python學(xué)習(xí)筆記-數(shù)據(jù)集合: list,tuple,dict,set

    摘要:元素的獲取與一致,即即可。中的是唯一的不可變對象。若不存在該則返回。是一個有序且不重復(fù)的數(shù)據(jù)集合。創(chuàng)建創(chuàng)建時重復(fù)的元素將被自動刪除。添加元素刪除元素若元素不存在,則會報錯誤。 Python的數(shù)據(jù)集合有四種,即list,tuple,dict,set 列表,List List是Python中一種有序的可變的數(shù)據(jù)集合。它的元素可以被添加或則刪除。List的表示方法是用一個[]將元素包含起來,...

    qylost 評論0 收藏0
  • 3-python 元組 字典 集合的操作

    摘要:元組本質(zhì)是一種有序集合和相似元組是不可變的用創(chuàng)建其中類型可以不同如果一個元組中只有一個元素,在這個元素后面加一個逗號來消除歧義修改元組表面上看,的元素改變了,但實際上變得不是的元素,是的元素刪除被直接刪除數(shù)據(jù)類型轉(zhuǎn)換字典字典中的必須唯一值必 元組 tuple 本質(zhì)是一種有序集合 和list相似 元組是不可變的 用()創(chuàng)建 其中類型可以不同 如果一個元組中只有一個元素,在這個元素后面加...

    CKJOKER 評論0 收藏0
  • 史上最全的 Python 3 類型轉(zhuǎn)換指南

    摘要:支持轉(zhuǎn)換為類型的,僅有,其他類型均不支持。如果中含有正負(fù)號數(shù)字和小數(shù)點以外的字符,則不支持轉(zhuǎn)換。轉(zhuǎn)換時,會自動添加虛數(shù)部分并以表示。轉(zhuǎn)換會直接完全轉(zhuǎn)換。轉(zhuǎn)換列表,會取每個字節(jié)的十進(jìn)制值并組合成列表轉(zhuǎn)換為比較簡單。 int 支持轉(zhuǎn)換為 int 類型的,僅有 float、str、bytes,其他類型均不支持。 float -> int 會去掉小數(shù)點及后面的數(shù)值,僅保留整數(shù)部分。 int(-...

    libxd 評論0 收藏0

發(fā)表評論

0條評論

NervosNetwork

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<