题目描述

在Python中,List (列表)是一种非常重要的数据结构。它与C/C++/Java中的 数组有些类似,但支持添加新元素时的动态扩展。在这个问题中,你需要处理如下 的几种对List的操作。
• L=[]:将名字为L的List淸空。在这里,List的名字是长度为1到10之间的字符串(只包括大小写字母)。如果L原来不存在,这个语句相当于定义了一个名字为L的空列表。
• L.append(x):向L的末端插入元素X。为方便起见,这里的x只会是 [0,65536]之间的整数。
• L. sort ():将L中的元素按升序排序。
• L[id]:返回L中下标为id(>=0)的值。下标是从0开始计数的。
给定若干Python语句,你的任务是对于每个形如L[id]的语句,输出它返回的值。

 

输入

输入数据包含多组测试数据。请注意各组测试数据之间是相互独立的。
输入的第一行是一个整数T(T<=100),表示测试数据的组数。
每组测试数据第一行是语句的数量N(<=100)。接下来N行,每行一个python 语句。测试数据保证只会出现上述四种语句,语句中间不会出现空格。一个List在被使用前一定会被先定义。

 

输出

对于每个查询,输出査找的L[id]的值。如果id超出了当前List的下标范围, 输出一行ERROR。

样例输入

2
5
a=[]
a.append(0)
a.append(1)
a[0]
a[1]
8
lista=[]
lista.append(123)
lista.append(65)
lista[0]
lista.sort()
lista[0]
listb=[]
listb[0]

样例输出

0
1
123
65
ERROR

来源

2014机考D题

这个题的陷阱在于每次操作的数组不一定只有一个

#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
using namespace std;
struct pylist
{
int donser[];
string temp;
int now;
};
int sor(const void *a,const void *b)
{
return *(int *)a-*(int *)b; //小到大
}
int main()
{
int T,n;
cin>>T;
while(T--)
{
cin>>n;
//int donser[105];
pylist real_list[];
for(int i=;i<;i++)
{
real_list[i].temp="";
real_list[i].now=-;
for(int j=;j<;j++)
real_list[i].donser[j]=;
}
//int now=-1;
while(n--)
{
string temp;
cin>>temp;
int pos1=temp.find('.'),pos2=temp.find('['),pos3=temp.find('='),pos=;
int shit=pos1;
if(shit<) shit=pos2;
if(pos3>) shit=pos3;
string real_str=temp.substr(,shit);
//cout<<"*"<<real_str<<endl;
if(real_list[].temp!="")
{
int i=,temp_lable=;
while(real_list[i].temp!=""&&!temp_lable)
{
//cout<<"+"<<real_list[i].temp<<" "<<real_str<<endl;
if(real_list[i].temp==real_str)
{
pos=i;
temp_lable=;
}
i++;
}
if(temp_lable==)
{
pos=i;
real_list[i].temp=real_str;
}
}
//cout<<"*"<<pos<<endl;
if(real_list[].temp=="")
real_list[].temp=real_str;
if(pos2!=-)////////lista[num] or listb=[]
{
if(temp[pos2+]==']')
{
real_list[pos].now=-;
}
else
{
int i=pos2+;int num=temp[i]-'';i++;
while()
{
if(temp[i]>=''&&temp[i]<=''&&i<temp.size())
{
num=num*+(temp[i]-'');
i++;
}
else
break;
}
if(real_list[pos].now<num)
cout<<"ERROR"<<endl;
else
cout<<real_list[pos].donser[num]<<endl;
}
}
if(pos1!=-&&temp[pos1+]!='(')///////////append()
{
int i=pos1+;int num=temp[i]-'';i++;
while()
{
if(temp[i]>=''&&temp[i]<=''&&i<temp.size())
{
num=num*+(temp[i]-'');
i++;
}
else
break;
}
real_list[pos].now++;
real_list[pos].donser[real_list[pos].now]=num;
}
if(pos1!=-&&temp[pos1+]=='('&&real_list[pos].now!=-)////sort()
{
qsort(real_list[pos].donser,real_list[pos].now+,sizeof(int),sor);
}
}
}
return ;
}

BUPT复试专题—Python List(2014)的更多相关文章

  1. BUPT复试专题—数据库检索(2014软院)

    题目描述 在数据库的操作过程中,我们进场会遇到检索操作.这个题目的任务是完成一些特定格式的检索,并输出符合条件的数据库中的所有结果. 我们现在有一个数据库,维护了学生的姓名(Name),性别(Sex) ...

  2. BUPT复试专题—奇偶求和(2014软件)

    题目描述 给出N个数,求出这N个数,奇数的和以及偶数的和. 输入 第一行为测试数据的组数T(1<=T<=50).请注意,任意两组测试数据之间是相互独立的. 每组数据包括两行: 第一行为一个 ...

  3. BUPT复试专题—网络传输(2014网研)

    题目描述 网络的高效互联与智能传输是提升海量用户服务请求映射效率的重要措施.在这个任务中,你需耍在最小的传输时间内,将数据源传输到指定的网络节点中.我们给定的网络一共包含N个节点,其中节点1为数据源. ...

  4. BUPT复试专题—进程管理(2014网研)

    题目描述 在操作系统中,进程管理是非常重要的工作.每个进程都有唯一的进程标识PID.每个进程都可以启动子进程,此时我们称该它本身是其子进程的父进程.除PID为0的进程之外,每个进程冇且只冇一个父进程. ...

  5. BUPT复试专题—分数加法(2014网研)

    题目描述 求2^-a + 2^-b,其中a和b均为正整数,结果用最简分数表示 输入 第一行为测试数据的组数T (1~400).请注意,任意两组测试数据之间相互独立的.每组测试数据一行,包含两个整数a和 ...

  6. BUPT复试专题—最近公共祖先(2014软院)

    题目描述 给出一棵有N个节点的有根树TREE(根的编号为1),对于每组查询,请输出树上节点u和v的最近公共祖先. 最近公共祖先:对于有向树TREE的两个结点u,v.最近公共祖先LCA(TREE u,v ...

  7. BUPT复试专题—最长连续等差子数列(2014软院)

    题目描述   给定-个长度为N的整数数列,你需要在其中找到最长的连续子数列的长度, 并满足这个子数列是等差的.注意公差小于或等于0的情况也是允许的. 输入 第一行为数据组数T(1~100),表示测试数 ...

  8. BUPT复试专题—网络的核(2014)

    题目描述 给定一个无向网络G,共有N个节点(1到N),M条边,求网络的核. 网络的核:到网络中其他节点距离之和最小的节点,且对于不连通的两点,他们之间的距离为N,若有多组解,输出编号最小的节点 输入 ...

  9. BUPT复试专题—旋转图像(2014)

    题目描述 将一幅只含有01像素点的图片进行顺时针旋转,旋转的角度仅包含0°,90°,180°,270° 输入 第一行一个整数T(<50)表示输入的组数 每组测试数据第一行是两个整数N和M(< ...

随机推荐

  1. (45)zabbix报警媒介:SMS

    介绍 服务器安装串口GSM短信猫之后,zabbix可以使用它来发送短信通知给管理员,如下注意事项: 串行设备速度要与GSM猫相匹配(linux下默认为/dev/ttyS0),zabbix无法设置设置串 ...

  2. (36)zabbix Maintenance维护周期

    概述 我们可以给zabbix某些组或者某些Hosts设置维护时间 zabbix提供两种维护类型:依旧收集数据.暂停收集数据 在 服务器维护期间不会生成报警(前提:触发器设置了'Maintenance ...

  3. perl 对ENV环境变量的使用

    1.hash 方式访问. %ENV  key为环境变量名,value为环境变量值 2.调用ENV模块 . use Env qw(PATH); print "path is $ENV{path ...

  4. 《嵌入式linux应用程序开发标准教程》笔记——9.多线程编程

    线程是轻量级进程,创建线程的开销要比进程小得多,在大型程序中应用广泛. 9.1 线程概述 进程包含自己的代码.数据.堆栈.资源等等,创建和切换的开销比较大: 线程是轻量级的进程,调度的最小单元,同一个 ...

  5. 简单几点让你快速了解python是什么

    1.python是什么 python是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年.可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的LIS ...

  6. leetcode-1-basic

    leetcode-algorithm 1. Two Sum 解法:循环,试呗..简单粗暴.. class Solution { public: vector<int> twoSum(vec ...

  7. 三丶人生苦短,我用python【第三篇】 pycharm

    1 pycharm的下载安装 下载地址:https://www.jetbrains.com/pycharm/download/#section=windows ....安装没啥好说的 建议购买正版,其 ...

  8. [android篇]声明权限

    要实施您自己的权限,必须先使用一个或多个 <permission> 元素在 AndroidManifest.xml 中声明它们. 实际上,在开发过程中,当我们使用了某些系统特性的功能,且此 ...

  9. BZOJ 1027 [JSOI2007]合金 ——计算几何

    我们可以把每一种金属拆成一个二维向量,显然第三维可以计算出来,是无关的. 我们只需要考虑前两维的情况,显然可以构成点集所形成的凸包内. 然后我们枚举两两的情况,然后可以发现如果所有的点都在一侧是可以选 ...

  10. 刷题总结——疫情控制(NOIP2012提高组)

    题目: 题目背景 NOIP2012 提高组 DAY2 试题. 题目描述 H 国有 n 个城市,这 n 个城市用 n-1 条双向道路相互连通构成一棵树,1 号城市是首都,也是树中的根节点. H 国的首都 ...