python中的列表的操作(for循环)

1.遍历

(1)使用for循环遍历整个列表:

info=["xiaoming","23years","2000","male"]
for a in info:
	print(a) #注意是for循环的一部分要缩进

out:

xiaoming
23years
2000
male

(2新建列表并自动赋值:也是使用for循环,但是可以直接使用列表解析,列表解析是将for循环和创建新元素合并在一个语句完成,一个语句

info=[print(a) for a in range(1,6)]

out :

1
2
3
4
5

再例如:

info=[ab for ab in range(1,6)]
print(info)

out:

[1, 2, 3, 4, 5]

2.切片

使用脚标索引对列表进行切片,得到我们需要的列表片段
例如:

info=["xiaoming","23years","2000","male"]
a=info[0:2]
print(a)

out:

['xiaoming', '23years']

我们注意到,输出的片段也是列表,故而列表切片也是列表。故而对列表的所有操作对切片同样适用,如遍历使用for循环。赋值等

3.复制

(1)使用切片的方式复制一个列表[推荐使用该方法]
如:

info=["xiaoming","23years","2000","male"]
info_copy=info[:]
print(info_copy)

out:

['xiaoming', '23years', '2000', 'male']

(2)使用:b=a的赋值方法,这种方法在后面使用需谨慎,因为在任何一个列表后面追加的任何内容都会使得两个列表完全一样;请比较:
代码1:

info=["xiaoming","23years","2000","male"]
info_copy=info
print(info)
print(info_copy)

out:

['xiaoming', '23years', '2000', 'male']
['xiaoming', '23years', '2000', 'male']

代码2:

info=["xiaoming","23years","2000","male"]
info_copy=info

info.append("ball")                    #对比代码1的添加行
info_copy.append("food")		 #对比代码1的添加行

print(info)
print(info_copy)

out:

['xiaoming', '23years', '2000', 'male', 'ball', 'food']
['xiaoming', '23years', '2000', 'male', 'ball', 'food']

显然,这不是我们想要的差异化结果,因为两个列表的内容完全一样了;造成这种结果的原因是:在python中等号是将info赋给info_copy,而不是将info的副本存储到i新的info_copy中,在python中,这个语法实际是将info_copy这个新变量关联包含在info列表中,因此这两个列表其实都指向一个列表

你可能感兴趣的:(python,python基础)