假设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:]是无法执行的,会抛出异常?的主要内容,如果未能解决你的问题,请参考以下文章

迭代列表切片

python切片

python切片 []取值操作符

python——入门系列索引与切片

Python中numpy 数组的切片操作

龙猫python