假设x是含有5个元素的列表,那么切片操作x[10:]是无法执行的,会抛出异常?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了假设x是含有5个元素的列表,那么切片操作x[10:]是无法执行的,会抛出异常?相关的知识,希望对你有一定的参考价值。
这是一道判断题,答案是错误的。假设x是含有5个元素的列表,那么切片操作x[10:]是可以执行的,不会抛出异常。
这道题涉及到的是python程序设计知识。Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
扩展资料:
Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。
Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。
一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。
因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。
参考技术A 这s是含有五个元素的列表,那么切片操作s时是无法执行的,这是一个嗯,方程元素的问题,这个问题需要专业的老师告POJ 1988 Cube Stacking (带权并查集)
题目链接:http://poj.org/problem?id=1988
有n个元素,开始每个元素自己 一栈,有两种操作,将含有元素x的栈放在含有y的栈的顶端,合并为一个栈。第二种操作是询问含有x元素下面有多少个元素。
经典的带权并查集,cnt表示包含这个元素的集合中所有元素个数,dis表示这个元素离最上面元素的个数(距离)。
看代码领会一下吧。
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 using namespace std; 5 int par[int(3e4 + 5)] , cnt[int(3e4 + 5)] , dis[int(3e4 + 5)]; 6 //cnt[i]表示i所在点的大小,dis[i]表示i离最上面节点的距离(个数) 7 int Find(int n) { 8 if(par[n] == n) 9 return n; 10 int temp = Find(par[n]); //先算出n的父节点的dis 11 dis[n] += dis[par[n]]; 12 par[n] = temp; //路径压缩 13 return temp; 14 } 15 16 void Union(int u , int v) { 17 int fu = Find(u) , fv = Find(v); 18 if(fu == fv) 19 return ; 20 par[fv] = fu; 21 dis[fv] = cnt[fu]; //Find函数中dis[fv]并没有回溯增加过 22 cnt[fu] += cnt[fv]; //总个数相加 23 } 24 25 int main() 26 { 27 int n , u , v; 28 char q[3]; 29 while(~scanf("%d" , &n)) { 30 memset(dis , 0 , sizeof(dis)); 31 for(int i = 1 ; i <= 3e4 ; ++i) { 32 cnt[i] = 1; 33 par[i] = i; 34 } 35 for(int i = 0 ; i < n ; ++i) { 36 scanf("%s" , q); 37 if(q[0] == ‘M‘) { 38 scanf("%d %d" , &u , &v); 39 Union(u , v); 40 } 41 else { 42 scanf("%d" , &u); 43 int x = Find(u); //回溯累加一次 44 printf("%d\n" , cnt[x] - dis[u] - 1); 45 } 46 } 47 } 48 return 0; 49 }
以上是关于假设x是含有5个元素的列表,那么切片操作x[10:]是无法执行的,会抛出异常?的主要内容,如果未能解决你的问题,请参考以下文章