zoukankan      html  css  js  c++  java
  • python列表面试题

    1、习题 L = [1, 2, 3, 5, 6],如何得出 '12356'?

    答: 注意,个人觉得这个题有坑,列表的元素不是字符串,所以不能 ''.join(L)。以下是过程:
    # -*- coding: UTF-8 -*-
    #!/usr/bin/python
    L=[1, 2, 3, 5, 6]
    s=''
    for i in L:
    s=s+str(i)
    print(s)
    print(type(s))
    执行返回结果:
    12356
    <class 'str'>
     
     
    4、L = [1, 2, 3, 11, 2, 5, 3, 2, 5, 3],用一行代码得出 [11, 1, 2, 3, 5]
    答: list(set(L))
     
     
    5、L = [1, 2, 3, 4, 5],L[10:]的结果是?
    答: 空列表
    6、列表和字典有什么区别?
    答: 一般都是问列表和元组有什么不同。 (1)获取元素的方式不同。列表通过索引值获取,字典通过键获取。 (2)数据结构和算法不同。字典是 hash 算法,搜索的速度特别快。 (3)占用的内存不同。
     
    7、python中列表 append和extend的区别
    list.append(object) 向列表中添加一个对象object
    list.extend(sequence) 把一个序列seq的内容添加到列表中
    例如:
    L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 3]
    L2 = list(set(L1))
    print (L2)
    L2.append('www')
    print(L2)
    L2.extend([12,322,'er'])
    返回结果:
    [11, 1, 2, 3, 5]
    [11, 1, 2, 3, 5, 'www']
    [11, 1, 2, 3, 5, 'www', 12, 322, 'er']
    8、列举 4个 Python核心数据类 型 的名称。
    数字、 字 符串、列表、字典、元组、文件和集合 一 般被认为是核心对象(数据) 类型。
     
    9、"不可变性"代表了什么,哪三种Python的核心类型被认为是具有不可变性的?
    一个具有"不可变性"的对象是一个在其创建以后不能够被改变的对象。 Python中 的数字、 字符串和元组都属于这个分类。尽管无峰就地改变一个不可变的对象,但 是你总是可以通过运行一个表达式创建一个新的对象 。
     
    10、"序列"是什么意思,哪 三种Python的核心类型被认为是这个分类中的?
    一个"序列"是一个对位 置进行排序的对象的集合。 字符串、列表和元组是Python 中所有的序列。它们共同拥有 一般的序列操作,例如,索引、合并以及分片,但又各自有自己的类型特定的方也调用。
     
    11、在Python中,list,tuple,dict,set有什么区别,主要应用在什么样的场景?
    定义: 
    list:链表,有序的项目, 通过索引进行查找,使用方括号”[]”; 
    tuple:元组,元组将多样的对象集合到一起,不能修改,通过索引进行查找, 使用括号”()”; 
    dict:字典,字典是一组键(key)和值(value)的组合,通过键(key)进行查找,没有顺序, 使用大括号”{}”; 
    set:集合,无序,元素只出现一次, 自动去重,使用”set([])” 
    应用场景: 
    list, 简单的数据集合,可以使用索引; 
    tuple, 把一些数据当做一个整体去使用,不能修改; 
    dict,使用键值和值进行关联的数据; 
    set,数据只出现一次,只关心数据是否出现, 不关心其位置
     
    12、请写出打印结果
    x = [0,1]
    i = 0
    i , x[i] = 1 , 2
    print(x)
    打印结果:[0,2] 
     
    13、请用自己的算法,按升序合并如下2个list,并除去重复元素
    list1 = [2,3,8,4,9,5,6] 
    lsit2 = [5,6,10,17,11,2]
    l3 = list1+list2
    s=set(l3)
    l4=list(s)
    print(l4)
     
    14、有一个多层嵌套列表A=[1,2,[3,4,['434',[...]]]],请写一段代码遍历A中的每个元素并打印出来
    A = [1,2,[3,4,['434',[...]]]]
    c = []
    def test(li):
    for i in li:
    if isinstance(i,list):
    return test(i)
    else:
    print(i,end = '')
    c.append(i)
    test(A)
    print('\n',c)
    # 循环读取多层列表中的元素
    raw = ['PCXXX', ['0078', 8831], ['0000', '7777']]
    def get_data(datas):
    for item in datas:
    if isinstance(item, (str, int)):
    print(item, type(item))
    else:
    get_data(item)
    get_data(raw)
    学而不思则罔,思而不学则殆
  • 相关阅读:
    ORACLE 变量定义
    AcWing1082 数字游戏(数位dp)
    AcWing1081 度的数量(数位dp)
    UCF Local Programming Contest 2017 I题 Rotating Cards(贪心+树状数组)
    AcWing1048 鸡蛋的硬度(浅谈两种解法的思考方向)
    CF713C Sonya and Problem Wihtout a Legend (经典dp)
    CF269B Greenhouse Effect (dp LIS)
    CF463D Gargari and Permutations (LCS)
    AcWing987 最长公共子序列
    CF721C Journey (dp+拓扑)
  • 原文地址:https://www.cnblogs.com/linyu51/p/15716368.html
Copyright © 2011-2022 走看看