python中的列表增、删、改及操作
一、先定义names的列表,其中有5个名字
names=[“xiaozhan”,”caiyilin”,”huangxiaoyun”,”zhoushen”,”DAOlang”]
print(names) #打印列表所有元素
一)修改列表元素
names[1]=”Wukong” #修改列表中的第2个元素,由原来的caiyilin修改为Wukong
print(names[1]) #打印列表中的第2个元素,即修改后的wukong
print(names[2].title()) #取列表中的第3个元素,即huangxiaoyun,并将首字母大写
二)在列表中添加元素
1、在列表末尾添加元素
names.append(“xiaoshengyang”) #方法append()将元素”xiaoshengyang”添加到列表末尾,即names由原来5个名字增加,变成含有6个名字的列表。
print(names[-1]) #打印添加最后一个元素,即打印出xiaoshengyang
2、在列表中插入元素,方法 insert() 可在列表的任何位置添加新元素,但需要指明新元素的索引和值。
names.insert(0,”benshanzhao”) #方法 insert() 在索引0处添加空间,并将值 “benshanzhao” 存储到该位置,但这种操作将列表中既有的每个元素都右移一个位置
print(names)
三、从列表中删除元素
1、del语句删除元素
del names[0] #删除了列表names中的第1个元素
del names[2] #删除了列表names中的第3个元素
print(names)
2、使用方法pop()删除元素列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素
popped_name=names.pop()
print(names)
print(popped_name)
3、remove()不知道删除的值所处的位置,但知道要删除的元素的值,可使用方法remove()
names.remove(“benshanzhao”)
print(names)
四、组织列表元素的排列顺序常常是无法预测,当需要以特定的顺序呈现信息。有时,保留列表元素最初的排列顺序,而有时候又需要调整排列顺序
1、使用方法sort()对列表进行永久性排序
names=[“xiaozhan”,”caiyilin”,”huangxiaoyun”,”zhoushen”,”DAOlang”]
names.sort()
print(names)
2、反向排序,向sort()方法传递参数,按字母反序排列列表元素
names.sort(reverse=True)
print(names)
3、使用函数sorted()对列表进行临时排序
print(“Hereistheoriginallist:”)
print(names)
print(”
Hereisthesortedlist:”)
print(sorted(names))
4、用函数len()可获取列表的长度
print(len(names))
五、遍历列表
需要遍历列表的所有元素,对每个元素执行相同的操作,按上述各列表位置进行读取会比较麻烦,而且当名单的长度发生变化时,都必须修改代码,使用 for 循环可以方便快捷地处理相关问题。
1、简单循环
names=[“xiaozhan”,”caiyilin”,”huangxiaoyun”,”zhoushen”,”DAOlang”]
for name in names:
print(name) #注意,python中,没有{ }来区分程序段或嵌套,只通过缩进,一般一层缩进4个空格。
这两行代码让Python从列表names中取出一个名字,并将其存储在变量name中。然后让Python打印存储到变量name中的名字。这样,对于列表中的每个名字,Python都将重复执行这两行代码。
循环很重要,是计算机自动完成重复工作的常见方式之一。
Python将首先读取其中的第一行代码:for name in names:
这行代码让Python获取列表names中的第一个值”xiaozhan”,第二行代码 print(name) 让Python打印name的值”xiaozhan”,由于表中有多个值,python返回第一行for name in names:,并将第二个值‘caiyilin’赋给name,并打印出来,继续执行整个循环,直到打印完成最后一个,程序结束。
2、在循环中完成更多的操作
names=[“xiaozhan”,”caiyilin”,”huangxiaoyun”,”zhoushen”,”DAOlang”]
for name in names:
print(name.title()+”,that was a great superstar!”) #有缩进,执行整个循环
print(“Thank your “+name.title()+”,that was a great superstar!”) 注意:最后一行没有缩进,它只能取得最后一个循环的name值。
具体代码运行结果如下: