基本数据结构 知识点题库

数据元素之间是一对一的关系的是线性数据结构。
10个数据“23,15,51,36,78,47,39,9,88,96”依次存放在列表a中,使用如下Python程序段找出大于70的数的个数。

a=[23,15,51,36,78,47,39,9,88,96]

n=0

m=70

for i in range(0,10):

    if            

        n+=1

print("个数:",n)

程序中划线处的代码应为(    )

A . a[i]>n B . a[i]<n C . a[i]>m D . a[i]< m
有Python程序段如下:

import pandas as pd

s1 = pd.Series(range(1,10,2))

print(s1)

该程序段运行后输出结果为(    )

A . B . C . D .
某DataFrame对象df中包含“id" "name"等8个数据列、22个数据行,下列语句中能读取df对象中某些数据列中所有数据的是(    )
A . df['id'] B . df.tail( ) C . df.columns D . df[2:5]
一个队列初始为空,若它的输入序列为a、b、c、d,则它的输出序列为(   )。
A . d、c、b、a B . d、a、c、b C . a、b、c、d D . a、c、b、d
已知str1="hello python",则str1[2]表示的是下列哪个字符(      )
A . "h" B . "e" C . "l" D . "o"
中国大陆居民身份证由18位数字组成,其中第7至14位数字代表居民的出生年月日,身份证号码现保存在字符串变量s中,小张尝试对身份证号码中的出生年月日进行提取,以下表达式不正确的是(     )
A . s[7:15] B . s[6:14] C . s[-12:-4] D . s[6:-4]
有如下python程序段:

a="Doing is better than saying ."

print(r"\n"+a[ :15])

该程序运行后,输出的结果是(   )

A . 直接输出:' \nDoing  is  better ' B . 直接输出:\nDoing  is  better  th C . 直接输出:\nDoing  is  better D . 先换行,然后在新的一行中输出:Doing  is  better
已知字典dict1={1:2, 2:(1,2), (1,2):'b', 'b':'b1','b1':'b2' },要得到字典中的值'b',下列方法可行的是(     )
A . dict1[(1,2)] B . dict1{'b'} C . dict1[3] D . dict1['b1']
图结构是由一组节点(称为顶点)和一组节点间的连线(称为边或弧)构成的一种数据结构。图结构中的每个顶点都可以与其他顶点有边相连,下列说法错误的是(      )

A . 图结构中数据元素之间是一对多的关系 B . 图可以分为有向图和无向图 C . 相连顶点之间的边或弧叫权,权表示两个节点之间的某种关系 D . 图上的边或弧带权则称为网,可分为有向网和无向网
以下关于Python自带数据结构的运算结果中正确的是哪一项?(     )
A . l=[1,2,3,4,5]del l[2:4]则运算之后1为[1,2,3] B . basket=['apple','banana','apple','orange']fruit=set(basket)len(fruit) 的结果是5 C . basket=['apple','banana','apple','orange','melo']fruit=set(basket)len(fruit) 的运算结果是3 D . 1=[2,1,3,5,4]remove(3)sort()则运算之后1为[1,2,4,5]
在树形结构中,没有的是(     )?
A . 根的父节点 B . 父节点 C . D . 子树
线性结构中元素之间存在         关系,树结构中元素之间存在         关系,图形结构中元素之间存在         关系。(    )
A . 一对多 多对多 一对一 B . 一对一 一对多 多对多 C . 多对多 一对一 一对多 D . 一对一 多对一 多对多
  对于字典a={'name':'chen', 'age':18},len(a)的结果为
已知 s='abcdefgh',则 s[1:5:2]+s[-1:-7:-2]的值是( )
A . 'bdhfd' B . 'bdfhfdb' C . 'achfd' D . 'acehfdb'
树结构的数据元素的多对多的关系。
一棵度为3,深度为4的树,最多有(     )个节点。
A . 31 B . 32 C . 40 D . 42
已知S='新冠肺炎COVID­19',执行语句x=S [0:4]后,x的值为(    )
A . '新冠肺炎' B . '新冠肺炎C' C . 新冠肺炎 D . 新冠肺炎C
小明对入栈、出栈规则研究发现,若有n个数字1,2,3,……,n按由小到大的顺序入栈,则出栈序列必须遵循下述原则:当数字x出栈后,则在x后出栈的小于x的所有数字必定以降序排列,比x大的数字可以夹杂在该降序序列中。现编写Python程序,按上述原则验证一个随机产生的出栈序列是否可能,程序运行界面如图所示。

  1. (1) 根据题意,若有7个数字入栈,则出栈序列“3→2→5→4→7→1→6”是 (单选,填字母:A .可能 / B .不可能)
  2. (2) 实现上述功能的Python程序代码如下,程序中加框处代码有错,请改正。

    import random

    n=int(input('请输入入栈元素的个数:'))

    data=[i+1 for i in range(n)]

    random.shuffle(data)     #将序列的所有元素随机排序

    s=''

    for i in range(n):

      s+=str(data[i])+'→'

      print('随机产生的出栈序列为:'+ )      #去除最后多余的'→'

      flag=True; i=0

    while i<n-1 and flag:

         ①   

      for j in range(i+1,n):

        if data[j]<data[i]:

          if data[j]<x:

            x=data[j]

          else:

               ②   

        break

        i+=1

    if flag:

      print('该出栈序列是可能的!')

    else:

      print('该出栈序列是不可能的!')

  3. (3) 请在划线处填入合适代码。

在某餐厅点餐系统中,利用队列来储存当前正在排队顾客的编号,head指向队首元素,tail指向队尾元素的下一个位置,若tail=head+3,则现在排队的顾客数量为(    )
A . 2 B . 3 C . 4 D . 5