python:在函數中修改列表和禁止函數修改列表

2020-12-03 小龍談數學說Python

1.了不起的魔術師:編寫一個名為make_great()的函數,對魔術師列表進行修改,在每個魔術師的名字中都加入字樣「the Great」。調用函數show_magicians(),確認魔術師列表確實變了。

def make_great(a):

s="the Great"

for n in range(len(a)):

a[n]=a[n]+s

print(a)

magician=["lili","xiao","biggget"]

make_great(magician)

print(magician)

我們將make_great()定義成接受一個名字列表,並將其存儲在形參a中。首先,我們使用變量s,對它賦值「the Great」。然後,我們使用len()函數求出列表的長度,通過for循環遍歷列表。在循環中,我們使用列表索引a[n]=a[n]+s,訪問列表中的每一個元素,並對其進行修改。最後,我們定義了一個魔術師列表——magician,然後調用make_great(),並將這個列表傳遞給它。我們再次列印列表magician,確認魔術師列表確實變了。

2.不變的魔術師:修改以上編寫的程序,在調用函數make_great()時,向它傳遞魔術師列表的副本。由於不想修改原始列表,請返回修改後的列表,並將其存儲到另一個列表中。分別使用這兩個列表來調用show_magicians(),確認一個列表包含的是原來的魔術師的名字,而另一個列表包含的是添加了字樣"the Great"的魔術師的名字。

def make_great(a):

s="the Great"

for n in range(len(a)):

a[n]=a[n]+s

print(a)

magician=["lili","xiao","biggget"]

b=magician[:]

make_great(b)

print(magician)

為解決這個問題,可向函數傳遞列表的副本而不是原件;這樣函數所做的任何修改都只影響副本,而絲毫不影響原件。

要將列表的副本傳遞給函數,使用切片表示法[:]創建列表的副本。題中使用magician[:]賦值給變量b,於是列印列表magician時,發現並沒有發生改變。

相關焦點

  • python:傳遞列表和在函數中修改列表
    1.魔術師:創建一個包含魔術師名字的列表,並將其傳遞給一個名為show_magicians()的函數,這個函數列印列表中每個魔術師的名字。for i in a:print(i)magician=["lili","xiao","biggget"]print(magician)我們將show_magicians()定義接受一個名字列表
  • 16.快速掌握Python列表類:Python列表類函數歸納總結
    給定如下圖的列表l1。0表示空土坑,1表示有樹苗的土坑。要求樹苗不能相鄰,還可以種植多少棵新樹苗。顯然可以從列表的第1個位置開始循環。如果這個位置前後都沒有樹苗,那麼這個位置滿足條件。不過需要注意2點:有2個特殊位置,第1個位置和最後1個位置,並不需要前後都為0。
  • python入門第三課:列表元素的訪問、增加、刪除與修改
    >,'葡萄',1990]列表的一些特點:1、列表中的數據類型可以不一樣,上面那個列表包含了字符串和整數1990兩種類型。2、列表是有順序的,上面列表中『蘋果』是第一個,序號用0表示,'香蕉'的序號是1,'橘子'的序號是2,'葡萄'的序號是3,1990的序號是4,以此類推。3、列表中的元素沒有任何關係,元素可以重複出現。
  • Python之list列表數據類型講解
    前言在python中,list列表數據類型其實就是一個容器,可以放置大量元素的集合。同時,list列表也有很多特點和使用場景,本文主要講解list列表的函數方法。概念list列表是一個集合,一個容器,同Java語言中的數組是一樣的,唯一的不同之處在於,Java中的數組類型只能放置同一種數據類型,而Python中的列表可以放置不同的數據類型。
  • Python列表有什麼內置函數可以使用,怎麼使用這些函數
    序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字(它的位置,或索引,第一個索引是0,第二個索引是1,以此類推。)Python序列的列表是最常用的Python數據類型。所以很多時候都在操作列表。那麼列表有什麼內置函數可以使用,怎麼使用這些函數。
  • Python列表和元組
    定義列表和函數```l = [1, 2, 'hello', 'world'] # 列表中同時含有 int 和 string 類型的元素l[1, 2, 'hello', 'world']tup= ('jason', 22) # 元組中同時含有 int 和 string 類型的元素tup('jason', 22)```對於列表來說,由於其是動態的,我們只需簡單地在列表末尾,加入對於元組來說,
  • python字符串、列表內的方法使用
    python類型int:bit_lenth()bool:True Falsestr: str --->bool :bool(str): ''--->Falsestr例如:s = 'alexsb's1 = s[1]s2 = s[1:3]s3 = s[0:] s[
  • python數據類型總結——列表
    python用列表或元組來幫助我們。python列表一系列元素組成一個集合,可能通過索引,對每個元素進行訪問。這種數據類型統稱為序列。在python中,字符串就是一種序列。列表,也是序列的一種。可以用中括號來聲明列表。列表是可變的。
  • Python基礎教程(一) - 序列:字符串、列表和元組
    我們可以用id()函數來明顯的看一下發生了什麼。id()函數返回一個對象的身份,這個有點類似於「內存地址」。注意修改前後的身份是不同的。格式化操作符(%):類似C語言裡面printf()函數的字符串格式化。提供了一種基於多種輸入類型的創建自定義字符串的靈活方式。
  • Python 程式設計師如何防止數據被修改?
    作者 | PayneLi責編 | 郭芮在平時工作中,經常涉及到數據的傳遞。在數據傳遞使用過程中,可能會發生數據被修改的問題。為了防止數據被修改,就需要再傳遞一個副本,即使副本被修改,也不會影響原數據的使用。為了生成這個副本,就產生了拷貝——今天就說一下Python中的深拷貝與淺拷貝的問題。
  • 一日一技:從Python列表中刪除重複值
    使用Dict方法 從列表中刪除重複項使用for循環 從列表中刪除重複項使用列表推導式 從列表中刪除重複項使用Numpy unique()方法 從列表中刪除重複項。使用Pandas方法 從列表中刪除重複項使用enumerate()刪除重複值使用Set()方法從列表中刪除重複值要從列表中刪除重複值,可以使用內置函數set()。 set()方法可以返回不同的元素.
  • Python數據類型之列表list
    # 列表是python中最基本的數據結構,它是一個有序序列,序列中的每個元素都分配一個數字(位置,索引)# 1、我們可以使用 方括號,中括號[]來創建列表# 2、我們可以直接將序列放在list(seq)
  • python高階函數:map、filter、reduce的替代品
    根據單詞長度,使用sorted函數對一個列表進行排序。其中將len函數傳給key參數,具體示例如下:這裡需要特別提示一下,任何單參數函數都能作為key參數的值。在函數式編程中,大家最熟悉的高階函數主要有map函數、filter函數、reduce函數和apply函數。
  • Python數據類型串講(中)
    序列中每個位置的元素都有其對應的唯一編號,也就是說我們可以通過元素的位置標識,去搜索到該元素。python中的內建序列有6種:列表、元祖、字符串、Unicode字符串、xrange對象、buffer對象,其中列表和元祖是最常見的序列,應重點掌握。字符串在上一篇文章中已簡單介紹,下面將以字符串為例,對序列的通用操作進行詳講。
  • 11個python列表方法全面解析!
    參數:object可以添加 列表,字典,元組,集合,字符串等。#append()函數的操作對象是原列表。lk = ls #這不是複製,而是給列表ls新關聯一個引用,即增加一個別名,ls和lt指向同一個內存地址。
  • 用Python實現職工信息管理系統
    ('請輸入住址')photonumber = input('請輸入電話')money = input('請輸入工資')# 向列表中添加數據data.append([id, name, sex, age, education, address, photonumber, money])print('添加成功')# 調用保存函數
  • python:pop函數詳解 - 二進位01
    pop函數詳解今天我為大家講解python中pop函數的使用。#簡介——pop()函數是python解釋器的內置方法,可作用於列表,字典。用法說明——在builtins.py中找到pop函數。列表:L.pop([index]) -> item -- remove and return item at index (default last).
  • python隨機函數random分配應用,隨機分配8名老師到3個教室中
    羽憶教程最近遇到一個問題,要隨機分配8名老師到3個辦公室中,這時小編想要了python中的隨機函數random來進行分配工作,感覺小編像個月老一樣。python隨機函數python隨機函數在python中,想要生成隨機數
  • python基礎課程 第5章 奇妙的內建函數
    今天我們來講講 python 的常用內建函數,以便於大家在日常編程過程中遇到類似的場景可以直接拿來使用,不用再重複自己了。python 內建函數(python自帶的函數) 數量加起來大概有70多個,今天我們主要講常用的一些,至於更多的內容可以在以後的基礎教程裡慢慢學到。
  • 第二卷深入了解Python內置函數,講解內置函數都有什麼作用
    第二卷深入了解Python內置函數,講解內置函數都有什麼作用。主要講類型的轉換,有六個標準的數據類型之間的轉換、ASCII 數值和 Unicode 數值轉換,也有表達式轉換。int() 函數用於將一個字符串或數字轉換為整型。