詳解Python中的List

2022-09-21 16:51:13 字數 3718 閱讀 7659

目錄

list 是乙個序列!一串資料,這個串可以追加資料。

我們可以把它看成大型商場內,兒童遊玩串串車,它就像一趟一趟車廂一樣,可以掛上去(還能增加車廂)。

這樣tuple(元組)就是焊死了的串串車!

在資料結構中,我們也學習過鍊錶,某種程度上list就是python給出的乙個實現。

它可以無限的存放資料,並通過下標(從0開始計程式設計客棧數)獲取特定www.cppcns.com位置的元素。

說這麼多我們看看**,感受一下:

list_a = [1, 2, 3]

list_b = ['hello','lei','學委', 666]

上面就是python中的list。

我們前面tuple試過 + 和 *, 這些list能做嗎?

答案是肯定的。

這裡學委複製了前面tuple的**進行更改:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @time : 2021/10/31 10:36 下午

# @author : leixuewei

# @csdn/juejin/wechat: 雷學委

# @xueweitag: codingdemo

# @file : list_demo.py

# @project : hello

a = [1, 2, 3]

print(a[0])

t = list(a)

print(t[0:2])

print(type(t[0:2]))

# t[0] = 22 # list可以修改對應下標的值!

a[0] = 22

mylist = list([a, [2, 3]])

print(mylist)

([22, 2, 3], [2, 3])

mylist[0][0] = 100 #這個可以!真可以!

print(mylist)

print(type(mylist))

def show_info_v2(name, twww.cppcns.comitle, *info):

print("姓名為:", name)

print("職稱為:", title)

print("其他評價:", info)

show_info_v2('雷學委', '搬磚大師', "熱愛技術", "熱www.cppcns.com愛生活")

我們看看下面的程式即可:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @time : 2021/10/24 11:39 下午

# @author : leixuewei

# @csdn/juejin/wechat: 雷學委

# @xueweitag: codingdemo

# @file : func_call.py

# @project : hello

def compute_v1(list):

sum = 0

for x in list:

sum += x

list = list + [sum]

print("新位址:", id(list))

return sum

def compute_v2(list):

sum = 0

for x in list:

sum += x

list[0] = list[0] * 100

return sum

_list = [1, 2, 3, 4, 5]

print("呼叫計算函式v1之前:", _list)

print("呼叫計算函式v1之前記憶體位址:", id(_list))

print(compute_v1(_list))

print("呼叫計算函式v1之後:", _list)

print("呼叫計算函式v1之後記憶體位址:", id(_list))

_list = [1, 2, 3, 4, 5]

print("呼叫計算函式v2之前:", _list)

print("呼叫計算函式v2之前記憶體位址:", id(_list))

print(compute_v2(_list))

print("呼叫計算函式v2之後:", _list)

print("呼叫計算函式v2之後記憶體位址:", id(_list))

這是**執行效果:

我們是可以修改list的元素的。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @time : 2021/10/31 10:36 下午

# @author : leixuewei

# @csdn/juejin/wechat: 雷學委

# @xueweitag: codingdemo

# @file : list_demo2.py

# @project : hello

list = [3, 3, 3]

# new_list = list - list #typeerror: unsupported operand type(s) for -: 'listle' and 'listle'

new_list = list + list

print(new_list)

# 學委還是很喜歡三連的,666

new_list = list * 3

print("三連開光過的list:", new_list)

# new_list = list / 3 # 不支援下次一定啊!

print("'666' in new_listle ? ", '666' in new_list)

下面是執行效果:

可以看到,我們之前在tuple中的操作list也一一支援了。

直接上**:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @time : 2021/10/31 10:36 下午

# @author : leixuewei

# @csdn/juejin/wechat: 雷學委

# @xueweitag: codingdemo

# @file : list_demo2.py

# @project : hello

mylist = [3, 3, 3]

new_list = [x * 2 for x in mylist]

print("加倍過的list:", new_list)

# 從這裡開始展示tuple 轉list

tup = (6, 6, 6)

new_list = list(tup)

print("把list轉list: ", new_list)

if 6 in new_list:

print("new_list has 6 !")

這個非常簡單,隨手就來

list = [ 1, 2, 3]

for程式設計客棧 x in list:

do_on_value(x)

就這樣,其實上面的展示**涵蓋了,但是沒有特別說出來。

就是這一句 『new_list = [x * 2 for x in mylist]' , 直接遍歷列表並把每個函式的值都x2生成的元素構成新列表。

本文標題: 詳解python中的list

本文位址:

python中的列表 list 詳解

列表是python中最基本的資料結構,列表是最常用的python資料型別,列表的資料項不需要具有相同的型別。列表中的每個元素都分配乙個數字 它的位置,或索引,第乙個索引是0,第二個索引是1,依此類推。python有6個序列的內建型別,但最常見的是列表和元組。序列都可以進行的操作包括索引,切片,加,乘...

python中list切片詳解

python中list切片詳解 語法 start stop step step代表切片步長 切片區間為 start,stop 包含start但不包含stop 1.step 0,從左往右切片 2.step 0,從右往左切片 3.start stop step 為空值時的理解 start stop預設為...

python中list切片詳解

語法 start stop step step代表切片步長 切片區間為 start,stop 包含start但不包含stop 1.step 0,從左往右切片 2.step 0,從右往左切片 3.start stop step 為空值時的理解 start stop預設為列表的頭和尾,並且根據step的...