python全栈闯关--7-基础数据类型汇总、集合、深浅拷贝
2020-12-13 15:21
标签:style iss 删除 nbsp pre space remove 开始 int 删除列表元素,得到的结果,往往不是预期的 例子1: 例子2: 循环开始后,由于索引值一直增加,同时列表的长度变化。导致读取到的值,不是预期想要的,甚至报错 列表长度动态变化下,如何删除其中的值呢? python全栈闯关--7-基础数据类型汇总、集合、深浅拷贝 标签:style iss 删除 nbsp pre space remove 开始 int 原文地址:https://www.cnblogs.com/zxw-xxcsl/p/11579178.html1、str
s = ‘ ‘
print(s.isspace()) # 如果字符串全是空格返回True
2、在循环一个列表时,最好不要删除列表中的元素
lis = [11, 22, 33, 44, 55]
# 循环开始后,按照索引递增,删除了前面的值,不会处理列表索引的位置
# 虽然没有报错,但是不是想要的结果
for i in lis:
print("目前删除元素值为:%d " % i)
print("值删除前:")
print(lis)
lis.remove(i)
print("值删除后:")
print(lis)
# 目前删除元素值为:11
# 值删除前:
# [11, 22, 33, 44, 55]
# 值删除后:
# [22, 33, 44, 55]
# 目前删除元素值为:33
# 值删除前:
# [22, 33, 44, 55]
# 值删除后:
# [22, 44, 55]
# 目前删除元素值为:55
# 值删除前:
# [22, 44, 55]
# 值删除后:
# [22, 44]
# 按照列表的长度删除,由于删除值后,列表的长度变化,删除到索引不存在时,报错
lis = [11, 22, 33, 44, 55]
for i in range(len(lis)):
print(i) # i = 0 i = 1 i = 2 i = 3
del lis[i]
print(lis) # [22, 33, 44, 55] [22, 44, 55] [22, 44] 报错索引值超出范围
# 每隔一个元素,删除一个值
# 方法一:切片
lis = [11, 22, 33, 44, 55]
s = lis[::2]
print(s)
# 方法二:循环
lis = [11, 33, 33, 22, 33, 22, 33, 44, 55]
rs = []
index = 0
for i in lis:
if index % 2 == 1:
rs.append(i)
index += 1
print(rs)
lis = [11, 22, 33, 44, 55]
for i in range(len(lis) - 1, -1, -1):
if i % 2 == 1:
print(i)
del lis[i]
print(lis)
3、指向通一内存的列表,其中一个值变了,所有的值都会改变
l1 = []
l2 = l1
l3 = l1
l3.append(‘a‘)
print(l1,l2,l3)
# [‘a‘] [‘a‘] [‘a‘]
文章标题:python全栈闯关--7-基础数据类型汇总、集合、深浅拷贝
文章链接:http://soscw.com/essay/35051.html