鱼C论坛

 找回密码
 立即注册
查看: 2603|回复: 3

[学习笔记] python复盘:011列表:一个打了激素的数组II

[复制链接]
发表于 2020-2-5 16:50:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
011列表:一个打了激素的数组II

一、从列表中索取元素
  1. >>> member = ['赵','钱','孙','李']
  2. >>> member[0]
  3. '赵'
复制代码


二、从列表删除元素:remove、del、pop
1、remove():需知具体名字
  1. >>> member.remove('李')
  2. >>> member
  3. ['钱', '赵', '孙']
复制代码


2、del():删除指定位置的元素
  1. >>> del member[2]
  2. >>> member
  3. ['钱', '赵']
复制代码


3、pop();取出最后一个元素并显示
  1. >>> member = ['赵','钱','孙','李']
  2. >>> member.pop()
  3. '李'
  4. >>> name = member.pop()
  5. >>> name
  6. '孙'
  7. >>> member
  8. ['赵', '钱']
  9. >>> member.pop(1)
  10. '钱'
  11. >>> member
  12. ['赵']
复制代码


三、列表分片Slice
  1. >>> member = ['赵','钱','孙','李']
  2. >>> member[1:3]
  3. ['钱', '孙']
复制代码

评分

参与人数 1贡献 +1 收起 理由
zltzlt + 1 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-5 16:52:39 | 显示全部楼层
加油!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-5 16:58:28 | 显示全部楼层

谢谢,共勉~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 18:37:44 | 显示全部楼层
本帖最后由 慕良 于 2020-2-5 18:42 编辑

测试题

0.注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。
  1. >>>old=[1,2,3,4,5]
  2. >>>new=old
  3. >>>old=[6]
  4. >>>print(new)
复制代码

如果不上机操作,你觉得会打印什么内容?
[1,2,3,4,5]

1.请问如何将下边这个列表的'小甲鱼'修改为'小鱿鱼'?
方法一:
  1. >>> list1=[1,[1,2,['小甲鱼']],3,5,8,13,18]
  2. >>> list1.pop(1)
  3. [1, 2, ['小甲鱼']]
  4. >>> list1.insert(1,[1,2,['小鱿鱼']])
  5. >>> list1
  6. [1, [1, 2, ['小鱿鱼']], 3, 5, 8, 13, 18]
复制代码

方法二:
  1. >>> list1 =[1,[1,2,['小甲鱼']],3,5,8,13,18]
  2. >>>[color=Lime][b] list1[1][2][0] = '小鱿鱼'[/b][/color]
  3. >>> list1
  4. [1, [1, 2, ['小鱿鱼']], 3, 5, 8, 13, 18]
复制代码


2.要对一个列表进行顺序排序,请问使用什么方法?
列表名.sort()

3.要对一个列表进行逆序排序,请问使用什么方法?
列表名.sort()
列表名.reverse()

或者:列表名.sort(reverse = True)

4.列表还有两个内置方法没给大家介绍,不过聪明的你应该可以自己摸索使用的门道吧:copy()和clear()
Copy():跟切片拷贝方法一样;
Clear():清空列表的元素,清完列表为空列表。


5.列表推导式(列表解析)
可以用来动态的创建列表,语法如:
[有关A的表达式 for A in B]
问题:请先在IDLE中获得下边列表的结果,并按照上方例子把列表推导式还原出来。
  1. >>> list1 = [(x,y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
  2. >>> list1
  3. [(0, 1), (0, 3), (0, 5), (0, 7), (0, 9), (2, 1), (2, 3), (2, 5), (2, 7), (2, 9), (4, 1), (4, 3), (4, 5), (4, 7), (4, 9), (6, 1), (6, 3), (6, 5), (6, 7), (6, 9), (8, 1), (8, 3), (8, 5), (8, 7), (8, 9)]
复制代码
  1. >>> list1 = []
  2. >>> for x in range(10):
  3.         for y in range(10):
  4.                 if x%2 == 0:
  5.                         if y%2!=0:
  6.                                 list1.append((x,y))
  7. >>> print(list1)
  8. [(0, 1), (0, 3), (0, 5), (0, 7), (0, 9), (2, 1), (2, 3), (2, 5), (2, 7), (2, 9), (4, 1), (4, 3), (4, 5), (4, 7), (4, 9), (6, 1), (6, 3), (6, 5), (6, 7), (6, 9), (8, 1), (8, 3), (8, 5), (8, 7), (8, 9)]
复制代码


6.活学活用:请使用列表推导式补充被小甲鱼不小心涂掉的部分

                               
登录/注册后可看大图

  1. list3 = [name + ':' +slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 19:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表