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)
热点内容