python中如何使用函數(shù)改變list
python使用函數(shù)改變list
函數(shù)內(nèi)改變外部的一個(gè)list如果這么寫
def rotate(nums, k): ? ? length=len(nums) ? ? if length!=0: ? ? ? ? nums=nums[length-k:length]+nums[0:length-k] ? l=[1,2,3,4,5,6,7] rotate(l,3) print(l)
外部的list并沒(méi)有改變,而返回的是[1, 2, 3, 4, 5, 6, 7]
要改變list中的內(nèi)容需要這么寫
def rotate(nums, k): ? ? length=len(nums) ? ? if length!=0: ? ? ? ? nums[:]=nums[length-k:length]+nums[0:length-k] ? l=[1,2,3,4,5,6,7] rotate(l,3) print(l)
這樣就返回的是[5, 6, 7, 1, 2, 3, 4]
python list函數(shù)用法
描述
list()函數(shù)是Python的內(nèi)置函數(shù)。它可以將任何可迭代數(shù)據(jù)轉(zhuǎn)換為列表類型,并返回轉(zhuǎn)換后的列表。當(dāng)參數(shù)為空時(shí),list函數(shù)可以創(chuàng)建一個(gè)空列表。
語(yǔ)法
list(object)
| 名稱 | 說(shuō)明 | 備注 |
| object | 待轉(zhuǎn)換為列表的數(shù)據(jù)類型 | 可省略的參數(shù) |
使用示例
1. 創(chuàng)建一個(gè)空列表(無(wú)參調(diào)用list函數(shù))
>>> test = list() >>> test []
2. 將字符串轉(zhuǎn)換為列表
>>> test = list('cat')
>>> test
['c', 'a', 't']3. 將元組轉(zhuǎn)換為列表
>>> a_tuple = ('I love Python.', 'I also love HTML.')
>>> test = list(a_tuple)
>>> test
['I love Python.', 'I also love HTML.']4. 將字典轉(zhuǎn)換為列表
>>> a_dict = {'China':'Beijing', 'Russia':'Moscow'}
>>> test = list(a_dict)
>>> test
['China', 'Russia']??注意:將字典轉(zhuǎn)換為列表時(shí),會(huì)將字典的值舍去,而僅僅將字典的鍵轉(zhuǎn)換為列表。如果想將字典的值全部轉(zhuǎn)換為列表,可以考慮使用字典方法dict.values()
5. 將集合轉(zhuǎn)換為列表
>>> a_set = {1, 4, 'sdf'}
>>> test = list(a_set)
>>> test
[1, 'sdf', 4]6. 將其他可迭代序列轉(zhuǎn)化為列表
下面的代碼將range類型和map類型的可迭代序列轉(zhuǎn)換為列表:
>>> test1 = list(range(10)) >>> test2 = list(map(int, [23.2, 33.1])) >>> test1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> test2 [23, 33]
注意事項(xiàng)
1. 參數(shù)必須是可迭代序列對(duì)象
list函數(shù)的參數(shù)必須是可迭代對(duì)象。當(dāng)選用不可迭代的對(duì)象作為參數(shù)時(shí),Python報(bào)錯(cuò)。
>>> test = list(12)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
將列表轉(zhuǎn)換為列表
可以使用list函數(shù)將列表轉(zhuǎn)換為一個(gè)列表,這么做Python不會(huì)有任何的異常或者報(bào)錯(cuò)。它的作用是將參數(shù)列表進(jìn)行深拷貝:
if __name__ == '__main__':
source_list = ["a", "b", "c", "d"]
new_list1 = list(source_list)
print(id(source_list), id(new_list1))
# output: 4313597760 4312890304
new_list2 = source_list
print(new_list1)
# output: ['a', 'b', 'c', 'd']
print(new_list2)
# output: ['a', 'b', 'c', 'd']
source_list[0] = "e"
print(new_list1)
# output: ['a', 'b', 'c', 'd']
print(new_list2)
# output: ['e', 'b', 'c', 'd']以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python基于多線程實(shí)現(xiàn)抓取數(shù)據(jù)存入數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了Python基于多線程實(shí)現(xiàn)抓取數(shù)據(jù)存入數(shù)據(jù)庫(kù)的方法,結(jié)合實(shí)例形式分析了Python使用數(shù)據(jù)庫(kù)類與多線程類進(jìn)行數(shù)據(jù)抓取與寫入數(shù)據(jù)庫(kù)操作的具體使用技巧,需要的朋友可以參考下2018-06-06
pycharm部署django項(xiàng)目到云服務(wù)器的詳細(xì)流程
今天重點(diǎn)給大家介紹pycharm部署django項(xiàng)目到云服務(wù)器的詳細(xì)流程,首先大家需要先下載python3.8壓縮包,然后通過(guò)一系列命令完成操作,具體實(shí)現(xiàn)方法,跟隨小編一起看看吧2021-06-06
基于python3實(shí)現(xiàn)socket文件傳輸和校驗(yàn)
這篇文章主要為大家詳細(xì)介紹了基于python3實(shí)現(xiàn)socket文件傳輸和校驗(yàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
利用python實(shí)現(xiàn)JSON文檔與Python對(duì)象互相轉(zhuǎn)換
這篇文章主要介紹了利用python實(shí)現(xiàn)JSON文檔與Python對(duì)象互相轉(zhuǎn)換,通過(guò)對(duì)將一個(gè)JSON文檔映射為Python對(duì)象問(wèn)題的展開介紹主題內(nèi)容,需要的朋友可以參考一下2022-06-06
7個(gè)流行的Python強(qiáng)化學(xué)習(xí)算法及代碼實(shí)現(xiàn)詳解
目前流行的強(qiáng)化學(xué)習(xí)算法包括?Q-learning、SARSA、DDPG、A2C、PPO、DQN?和?TRPO。這些算法已被用于在游戲、機(jī)器人和決策制定等各種應(yīng)用中,本文我們將對(duì)其做一個(gè)簡(jiǎn)單的介紹,感興趣的可以學(xué)習(xí)一下2023-01-01
解決Python復(fù)雜zip文件的解壓?jiǎn)栴}
這篇文章主要介紹了Python復(fù)雜zip文件的解壓,通過(guò)配合 shutil 與 os 標(biāo)準(zhǔn)庫(kù)中的相關(guān)功能,實(shí)現(xiàn)將指定任意 zip 壓縮包,完好地解壓到指定的目錄中,需要的朋友可以參考下2021-12-12
python自動(dòng)化測(cè)試之setUp與tearDown實(shí)例
這篇文章主要介紹了python自動(dòng)化測(cè)試之setUp與tearDown實(shí)例,其中setUp()方法中進(jìn)行測(cè)試前的初始化工作,并在tearDown()方法中執(zhí)行測(cè)試后的清除工作,setUp()和tearDown()都是TestCase類中定義的方法,需要的朋友可以參考下2014-09-09

