目录
前言
在头歌写Python时,遇到了个输入字符串,执行对应操作的题目
一、相关函数
先看代码
a = []
a.append(1)
a.append('APEX')
a.append([1,'Goose duck',666])
print(a)
a.clear()
a.extend([1,'Goose duck',666])
print(a)
#放到下标2的位置,即第三个元素位置,原本处于这个位置的666只能后移一位
a.insert(2,'soilder')
print(a)
a.pop()
a.remove(1)#删除第一个值为1的元素,不存在则报错
a.extend((34.1,19,'happy day',-5))
print(a)
del a[3]
print(a)
del a[1:3]#包左不包右,所以是删掉了第二第三个元素
print(a)
a[1] = 7
print(a)
print(a.index(-5))#返回元素下标索引
print(a.count('happy day'))#返回元素出现次数
输出
[1, 'APEX', [1, 'Goose duck', 666]]
[1, 'Goose duck', 666]
[1, 'Goose duck', 'soilder', 666]
['Goose duck', 'soilder', 34.1, 19, 'happy day', -5]
['Goose duck', 'soilder', 34.1, 'happy day', -5]
['Goose duck', 'happy day', -5]
['Goose duck', 7, -5]
2
0
再看文字解析:
a = []
1,a.append(元素)
向列表末尾添加元素
2,a.extend(元素) !!!注意是d,是extend
和append()相同,但如果元素是列表或元组,会把它们拆开一个一个添加,比如
a = ['Python', 'C++', 'Java'], t = ['C#', 'JavaScript'], a.extent(t), print(a)
会输出['Python', 'C++', 'Java', 'C#', 'JavaScript'],而不会把列表或元组当作整体添加进去(这是和append()区别的地方)
3,a.insert(下标, 元素)
将元素放在下标位置,比如a.insert(3, 'C++'),就是把字符串'C++'放在第四个位置
4,a.pop(下标)
按下标删除元素,缺少参数默认删除最后一个元素,类似数据结构中的“出栈”操作
5,a.remove(元素)
按元素本身的值删除,注意1,只会删除第一个和指定值相同的元素,2,若元素不存在,会报错ValueError
6,a.clear()
清空列表
7,del a[下标]
按下标索引删除
8,del a[start, end]
删除中间一段连续的函数
9,例如a[-3] = 6可以直接修改元素
10,通过切片修改一组元素
a[1:4] = [666, 520, 5.20]
11,a.index(元素)
查找元素的位置(下标索引),不存在则报错ValueError
12,a.count(元素)
查找列表中元素出现次数,不存在则返回0
元素可以是数字,字符串,列表,元组等,字符串要加引号,其他按各自形式就好
下标即下标索引,从0开始
!容易搞混的是下标和元素,别把下标当元素或元素当下标,比如remove()中是元素
写的脑壳疼,求个赞
二、题目,代码,输出
1.题目
初始化一个空列表,输入一个正整数 n,你将被要求读入 n 个输入,
每得到一个输入后,根据输入进行操作
insert i e: 在第 i 个位置插入整数 e。
print: 输出列表
remove e: 删除第一次出现的整数 e .
append e: 在列表的末尾插入整数 e.
sort: 按默认规则排序.
pop: 弹出列表最后一一个元素
reverse: 列表元素逆序.
输入格式
第一行输入一个正整数 n
随后的 n 行,每行输入一个如示例格式的命令(或命令加1或2个整数,要求加入列表的必须是整数)
示例:
输入:
12
insert 0 5
insert 1 10
insert 0 6
print
remove 6
append 9
append 1
sort
print
pop
reverse
print
输出:
[6, 5, 10]
[1, 5, 9, 10]
[9, 5, 1]
2.代码
list1 = []#初始化空列表
n = int(input())#按整形输入
for i in range(n):#输入n次,换一次行算一次
I = input().split()#以空格或换行作为间隔输入
First = I[0]#取每行输入第一个元素进行判断
if First == 'insert':
list1.insert(int(I[1]),int(I[2]))#int()字符串转整型
if First == 'print':
print(list1)#I[1]第二个元素,I[2]第三个元素
if First == 'remove':
list1.remove(int(I[1]))
if First == 'append':#字符串要加引号
list1.append(int(I[1]))
if First == 'sort':
list1.sort()
if First == 'pop':
list1.pop()
if First == 'reverse':
list1.reverse()#list1.sort(reverse = True)错误,看清楚逆序,而不是从大到小
3,输入输出
#输入
11
insert 0 50
insert 1 5
insert 0 1
print
append 10
append 9
reverse
print
sort
pop
print
#输出
[1, 50, 5]
[9, 10, 5, 50, 1]
[1, 5, 9, 10]
三,总结
考察了
1,列表常用函数
2,根据用户输入执行对应列表操作
求个赞大佬们
四,推荐Visual Studio Code
写Python超好用,不信看图,具体下载和配置百度有,或者问老师
很多工作了的码农也用这个