• 面试整理: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(' ',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)

  • 相关阅读:
    Python 模块 itertools
    Python 字符串的encode与decode
    python 模块 hashlib(提供多个不同的加密算法)
    暴力尝试安卓gesture.key
    hdu 1300 Pearls(DP)
    hdu 1232 畅通工程(并查集)
    hdu 1856 More is better(并查集)
    hdu 1198 Farm Irrigation(并查集)
    hdu 3635 Dragon Balls(并查集)
    hdu 3038 How Many Answers Are Wrong(并查集)
  • 原文地址:https://www.cnblogs.com/by170628/p/10613110.html
Copyright © 2020-2023  润新知