python高手
發布時間: 2024-10-11 03:44:58
❶ python高手求教,兩個List怎麼只改變一個List中元素的值不引起另一個List的變化
import
List2=.deep(List1)
這樣賦值,List2初始值和List1一樣,因為是深度復制List1中的元素,所有深層元素都引用的是不同的對象,List1的任何改變不會影響List2
❷ 請Python編程高手幫我解答這個問題
程序邏輯存在以下缺陷:
1、沒有使用循環對整個列表進行處理,使得只是處理了第二個元素。按照原程序的思路,
if num < len(my_list):
應該改成
while num < len(my_list):
2、如果改為使用while語句,原程序對列表元素的處理演算法存在邏輯錯誤:因為循環到一個大寫字母後,會在原位置插入空格,再次循環後,會對空格進行處理;移動到下一個位置後又正好是原來已經處理過得大寫字母。如此,會進入死循環。
請參考以下代碼:
num = 1
while num < len(my_list):
if my_list[num] in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ': # 這種方式更簡潔
my_list[num]=my_list[num].lower() # 轉換成小寫字母
my_list.insert(num, ' ') # 在該位置插入空格
num += 2 # 跳過插入空格及該字母
else:
num += 1
my_str = ''.join(my_list)
熱點內容