python全栈闯关--7-基础数据类型汇总、集合、深浅拷贝

python全栈闯关--7-基础数据类型汇总、集合、深浅拷贝,第1张

概述1、str s = ‘ ‘print(s.isspace()) # 如果字符串全是空格返回True   2、在循环一个列表时,最好不要删除列表中的元素 删除列表元素,得到的结果,往往不是预期的 例子1: lis = [11, 22, 33, 44, 55]# 循环开始后,按照索引递增,删除了前面的值,不会处理列表索引的位置# 虽然没有报错,但是不是想要的结果for i in li 1、str
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-基础数据类型汇总、集合、深浅拷贝所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1191146.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存