s = ‘ ‘print(s.isspace()) # 如果字符串全是空格返回True
2、在循环一个列表时,最好不要删除列表中的元素
删除列表元素,得到的结果,往往不是预期的
例子1:
lis = [11,22,33,44,55]# 循环开始后,按照索引递增,删除了前面的值,不会处理列表索引的位置# 虽然没有报错,但是不是想要的结果for i in lis: print("目前删除元素值为:%d " % i) print("值删除前:") print(lis) lis.remove(i) print("值删除后:") print(lis)# 目前删除元素值为:11# 值删除前:# [11,55]# 值删除后:# [22,55]# 目前删除元素值为:33# 值删除前:# [22,55]# 目前删除元素值为:55# 值删除前:# [22,44]
例子2:
# 按照列表的长度删除,由于删除值后,列表的长度变化,删除到索引不存在时,报错lis = [11,55]for i in range(len(lis)): print(i) # i = 0 i = 1 i = 2 i = 3 del lis[i] print(lis) # [22,55] [22,55] [22,44] 报错索引值超出范围
循环开始后,由于索引值一直增加,同时列表的长度变化。导致读取到的值,不是预期想要的,甚至报错
列表长度动态变化下,如何删除其中的值呢?
# 每隔一个元素,删除一个值# 方法一:切片lis = [11,55]s = lis[::2]print(s)# 方法二:循环lis = [11,55]rs = []index = 0for i in lis: if index % 2 == 1: rs.append(i) index += 1print(rs)lis = [11,55]for i in range(len(lis) - 1,-1,-1): if i % 2 == 1: print(i) del lis[i] print(lis)
3、指向通一内存的列表,其中一个值变了,所有的值都会改变
l1 = []l2 = l1l3 = l1l3.append(‘a‘)print(l1,l2,l3)# [‘a‘] [‘a‘] [‘a‘]总结
以上是内存溢出为你收集整理的python全栈闯关--7-基础数据类型汇总、集合、深浅拷贝全部内容,希望文章能够帮你解决python全栈闯关--7-基础数据类型汇总、集合、深浅拷贝所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)