鱼C论坛

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

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

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

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

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

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

一、从列表中索取元素
>>> member = ['赵','钱','孙','李']
>>> member[0]
'赵'

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

2、del():删除指定位置的元素
>>> del member[2]
>>> member
['钱', '赵']

3、pop();取出最后一个元素并显示
>>> member = ['赵','钱','孙','李']
>>> member.pop()
'李'
>>> name = member.pop()
>>> name
'孙'
>>> member
['赵', '钱']
>>> member.pop(1)
'钱'
>>> member
['赵']

三、列表分片Slice
>>> member = ['赵','钱','孙','李']
>>> member[1:3]
['钱', '孙']

评分

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

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-5 16:52:39 | 显示全部楼层
加油!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

谢谢,共勉~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

测试题

0.注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。
>>>old=[1,2,3,4,5]
>>>new=old
>>>old=[6]
>>>print(new)
如果不上机操作,你觉得会打印什么内容?
[1,2,3,4,5]

1.请问如何将下边这个列表的'小甲鱼'修改为'小鱿鱼'?
方法一:
>>> list1=[1,[1,2,['小甲鱼']],3,5,8,13,18]
>>> list1.pop(1)
[1, 2, ['小甲鱼']]
>>> list1.insert(1,[1,2,['小鱿鱼']])
>>> list1
[1, [1, 2, ['小鱿鱼']], 3, 5, 8, 13, 18]
方法二:
>>> list1 =[1,[1,2,['小甲鱼']],3,5,8,13,18]
>>>[b] list1[1][2][0] = '小鱿鱼'[/b]
>>> list1
[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中获得下边列表的结果,并按照上方例子把列表推导式还原出来。
>>> list1 = [(x,y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
>>> list1
[(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)]
>>> list1 = []
>>> for x in range(10):
        for y in range(10):
                if x%2 == 0:
                        if y%2!=0:
                                list1.append((x,y)) 
>>> print(list1)
[(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.活学活用:请使用列表推导式补充被小甲鱼不小心涂掉的部分

                               
登录/注册后可看大图
list3 = [name + ':' +slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 05:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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