Python学习_我该怎么修改列表中的元素
来源:互联网 发布:泰尔指数计算软件 编辑:程序博客网 时间:2024/04/29 04:49
建立一个列表后主要用于存储数据,但是我还想对列表中的元素进行增加、修改、删除的操作
1、修改列表中的元素
上一节学习列表时存储的是水果,这一节不用水果了,我们改用武器了
#定义一个武器列表,用于存储各种武器weapons=['青铜剑','鱼肠剑','干将','莫邪']#输出列表,与修改后的结果进行对比print(weapons)#对weapons列表中第一个改成“七星龙渊”weapons[0]='七星龙渊'#输出列表的元素,查看结果print(weapons)
输出:
[‘青铜剑’, ‘鱼肠剑’, ‘干将’, ‘莫邪’]
[‘七星龙渊’, ‘鱼肠剑’, ‘干将’, ‘莫邪’]
2、在列表中增加元素
增加元素可以使用append()和insert()两个方法:
- 在列表尾部增加元素,使用append()
#定义一个武器列表,用于存储各种武器weapons=['青铜剑','鱼肠剑','干将','莫邪']weapons.append('七星龙渊')print(weapons)
输出:[‘青铜剑’, ‘鱼肠剑’, ‘干将’, ‘莫邪’, ‘七星龙渊’]
- 在列表随意位置增加元素,使用insert()
#我们测试在第三个位置增加元素#定义一个武器列表,用于存储各种武器weapons=['青铜剑','鱼肠剑','干将','莫邪']weapons.insert(2,'七星龙渊')print(weapons)
输出:[‘青铜剑’, ‘鱼肠剑’, ‘七星龙渊’, ‘干将’, ‘莫邪’]
提示:insert()在使用时需要指定插入元素的位置索引,比如上边在第三个位置增加元素,就要使用索引位置2
3、删除列表中的元素
删除元素可以使用del、pop()、remove()三个方法
1、知道元素的位置然后将元素删除,可以使用del
#删除'干将',在列表的第三个位置weapons=['青铜剑','鱼肠剑','干将','莫邪']del weapons[2]print(weapons)
输出:[‘青铜剑’, ‘鱼肠剑’, ‘莫邪’]
2、删除列表的最后一个元素,可以使用pop(),关键是删除后的元素还可以拿来用啊
weapons=['青铜剑','鱼肠剑','干将','莫邪']r_weapon=weapons.pop()print(weapons)print('我将'+r_weapon+'宝剑卖给了小明。所以我的weapons列表中没有了'+r_weapon+'!')
输出:
[‘青铜剑’, ‘鱼肠剑’, ‘干将’]
我将莫邪宝剑卖给了小明。所以我的weapons列表中没有了莫邪!备注:append()是在列表的末尾添加一个元素,pop()是在列表的末尾删除一个元素
3、我想删除列表的任意一个元素,并拿来使用可以使用pop(索引号)
#删除列表第二个元素‘鱼肠剑’weapons=['青铜剑','鱼肠剑','干将','莫邪']r_weapon=weapons.pop(1)print(weapons)print('我将'+r_weapon+'宝剑卖给了小明。所以我的weapons列表中没有了'+r_weapon+'!')
输出:
[‘青铜剑’, ‘干将’, ‘莫邪’]
我将鱼肠剑宝剑卖给了小明。所以我的weapons列表中没有了鱼肠剑!就是在pop()括号中添加元素的位置索引,就可以删除列表任意位置的元素了
4、当我只知道元素值的存在,不知道在列表中的位置时,我可以使用remove()删除此元素
weapons=['青铜剑','鱼肠剑','干将','莫邪']r_weapon='干将'weapons.remove(r_weapon)print(weapons)print('我将'+r_weapon+'宝剑卖给了小明。所以我的weapons列表中没有了'+r_weapon+'!')
输出:
[‘青铜剑’, ‘鱼肠剑’, ‘莫邪’]
我将干将宝剑卖给了小明。所以我的weapons列表中没有了干将!pop()和remove()删除的元素都可以拿来再使用但是:
1、pop()是在删除元素的同时将删除的元素放进一个可以使用的变量中存储
2、remove()是先将要删除的元素放进一个变量中,然后将变量放进remove()中执行删除,也可以直接将删除的元素放进remove()执行删除
练习:
- 1、创建一个列表,存储至少三把武器,并输出用着三把武器砍你的信息
weapons=['青铜剑','鱼肠剑','干将','莫邪']#利用列表本身的属性来输出,有点笨print('我使用'+weapons[0]+'刺了你一剑!')print('我使用'+weapons[1]+'刺了你一剑!')print('我使用'+weapons[2]+'刺了你一剑!')print('我使用'+weapons[3]+'刺了你一剑!')#使用for循环print('这是一个--——————-漂亮的分割线')for weapon in weapons: print('我使用'+weapon+'刺了你一剑!')
输出:
我使用青铜剑刺了你一剑!
我使用鱼肠剑刺了你一剑!
我使用干将刺了你一剑!
我使用莫邪刺了你一剑!
这是一个–——————-漂亮的分割线
我使用青铜剑刺了你一剑!
我使用鱼肠剑刺了你一剑!
我使用干将刺了你一剑!
我使用莫邪刺了你一剑!
- 2、在上一题的基础上,你发现有一把剑被卖了出去,你要指出哪把剑被卖了,同时为了保持刺你的剑数没有减少你需要再买一把剑加进列表中,然后用新增加的剑刺你一剑
#你发现青铜剑被卖了出去weapons=['青铜剑','鱼肠剑','干将','莫邪']r_qingtong=weapons.pop(0)print(r_qingtong+'被卖了出去。')#我现在又买了一把"赤霄剑",放在了卖出去的剑的位置,并刺了你一剑weapons.insert(0,'赤霄剑')print(weapons)print('我又买了一把'+weapons[0]+',我使用'+weapons[0]+'刺了你一剑')
输出:
青铜剑被卖了出去。
[‘赤霄剑’, ‘鱼肠剑’, ‘干将’, ‘莫邪’]
我又买了一把赤霄剑,我使用赤霄剑刺了你一剑
- 3、现在你又得到了三把剑,将一把宝剑添加到列表开头,将一把宝剑添加到列表中间,将一把宝剑添加到列表末尾。
#列表里已经有了四把宝剑weapons=['青铜剑','鱼肠剑','干将剑','莫邪剑']weapons.insert(0,'赤霄剑')weapons.insert(3,'湛卢剑')weapons.append('承影剑')print(weapons)
输出:[‘赤霄剑’, ‘青铜剑’, ‘鱼肠剑’, ‘湛卢剑’, ‘干将剑’, ‘莫邪剑’, ‘承影剑’]
- 4、突然发现被莫名奇妙被偷走了四把剑,你现在只有2把剑了,结合上边程序的末尾打印你只有两把剑的消息,使用pop()删除列表中的剑,直到只剩2把为止,并在删除后显示你把剑被偷走的消息,对于余下的两把剑输出你用每把剑刺你一剑的消息,并在随后使用del删除剩下的2把剑,打印空列表信息
#接着上一个我已经有了7把剑了#列表里已经有了四把宝剑weapons=['赤霄剑', '青铜剑', '鱼肠剑', '湛卢剑', '干将剑', '莫邪剑', '承影剑']print('我莫名奇妙的只剩下2把剑了...')#显示剑被偷走了n=7while n>2: r_weapon=weapons.pop(n-1) n=n-1 print(r_weapon+'被偷走了!')#使用剩下的2把剑刺你for weapon in weapons: print('使用'+weapon+'刺了你一剑')s=2#删除剩下的2把剑,并打印空列表while s>=1: del weapons[s-1] s=s-1print(weapons)
输出:
我莫名奇妙的只剩下2把剑了…
承影剑被偷走了!
莫邪剑被偷走了!
干将剑被偷走了!
湛卢剑被偷走了!
鱼肠剑被偷走了!
使用赤霄剑刺了你一剑
使用青铜剑刺了你一剑
[]
总结
此节主要学习了怎么操作列表中的元素:
1、修改列表中的元素,主要使用替换就行了
2、增加列表中的元素,主要学习了列表末尾增加元素append(),在列表任意位置插入元素insert()
3、删除列表中的元素,主要学习了根据索引删除列表中的元素del,删除列表末尾的元素pop(),删除列表任意位置的元素pop(索引),使用元素名删除元素remove()
这节的学习就到此结束了,但是学了后边的忘了前边的,吃了顿饭全忘了
- Python学习_我该怎么修改列表中的元素
- Python学习_我怎么能够对列表中的元素排序
- Python学习_我该怎样访问列表中的元素
- Python学习_我该怎么使用函数及函数中传递列表
- Python学习_我该怎么读取文件中的数据并操作文件
- Python学习_我该怎么使用字典
- Python学习_我该怎么操作类的继承
- Python学习_我应该怎么快速创建数字列表
- Python 修改列表中的元素
- Python学习_我该如何删除字符串中的空白
- Python学习_我该怎么操作最基本的加减乘除运算
- Python学习_我该怎么使用字典的嵌套功能
- Python学习_我该怎么创建类和实例及类和实例的使用
- Python-webdriver 怎么定位下拉列表中的元素呢
- 我该怎么去学习
- Python学习_我的字符串怎么大小写
- python列表里面有字典,该怎么读取字典中的value?
- 我该怎么开始学习编辑程序
- 【转载】javaee和android的俩个流派需要学习的东西
- Liux 下的软件管理
- 文件上传错误信息说明
- fabric环境搭建
- [Struts2]struts2的关于method=“{1}"意思详解
- Python学习_我该怎么修改列表中的元素
- c语言中uchar,在JAVA中转换
- CUDA by examples第四章源代码错误处理方案
- 升降 遥调
- leetcode 5. Longest Palindromic Substring
- WebSocket只能接受100多个字符的解决办法
- 【第五届蓝桥杯】等额本金
- cocos2dx多边形裁剪
- grep + kill 杀死指定命令的进程