面试题0010

作者: 羋学僧 | 来源:发表于2019-12-02 15:44 被阅读0次

看代码写结果,内存中的列表

def  extendList(val,li =[]):
    li.append(val)
    return li

list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')

print(list1)
print(list2)
print(list3)
[10, 'a']
[123]
[10, 'a']

参数变量在编译时会生成,而且只会生成一次,其内存地址的指向不发生变化,所以会有默认的[]

1和3都会使用默认的编译生成的同一个[]

2新生成一个[]

一行代码生成九九乘法表

print('\n'.join([' '.join(['{}*{} = {}'.format(x,y,x*y) for y in range(1,x+1)]) for x in range(1,10)]))
分解
[x for x in range(1,10)]
[([x*y for y in range(1,x+1)]) for x in range(1,10)]
[(['{}*{} = {}'.format(x,y,x*y) for y in range(1,x+1)]) for x in range(1,10)]
[' '.join(['{}*{} = {}'.format(x,y,x*y) for y in range(1,x+1)]) for x in range(1,10)]
'\n'.join([' '.join(['{}*{} = {}'.format(x,y,x*y) for y in range(1,x+1)]) for x in range(1,10)])

合并两个列表,不能有重复元素

alist = ['a','b','c','d','e','f']
blist = ['x','y','z','d','e','f']
def merge_list(*args):
    s = set()
    for i in args:
        s = s.union(i)
    return list(s)

merge_list(alist,blist)
>>>['z', 'f', 'x', 'y', 'd', 'c', 'a', 'e', 'b']
def merge_list(*args):
    q = []
    for i in args:
        q = q + i
    return list(set(q))

merge_list(alist,blist)
>>>['z', 'd', 'c', 'x', 'e', 'y', 'b', 'f', 'a']

一行代码实现对列表a中的偶数位置(索引号)的元素进行加3后求和

testlist = [1,2,3,4,5,6,7,8]
result =sum(map(lambda x:testlist[x]+3,filter(lambda x:x%2==0,range(len(testlist)))))
print(result)
>>>28
sum(list(map(lambda x:x+3,testlist[0::2])))
sum([testlist[x] + 3 for x in range(len(testlist)) if x % 2 == 0])
sum([x+3 for x in testlist[0::2]])

相关文章

  • 面试题0010

    看代码写结果,内存中的列表 参数变量在编译时会生成,而且只会生成一次,其内存地址的指向不发生变化,所以会有默认的[...

  • 算法优化中梯度传播与学习策略

    ![Uploading 0010_838352.jpg . . .]

  • 0010

    今天是咱们的本周问答时间。本周我们讲了中国的中央货币财政体系和西方的银行货币信用体系,大家都清楚了这两种不同的制度...

  • 0010

    咸鱼的一天。 睡到日上三竿起来去食堂吃了饭,拿了快递回宿舍继续躺尸,刷着视频想着今晚吃啥,睡了个午觉又起来躺尸,想...

  • 0010

    2019年大年初一 新的一年,我想要新的开始。 开始认真的认识自己 开始正确的认识自己 开始勇敢的面对自己 只有认...

  • Elementary ‐ The Office ‐ Drivin

    Elementary ‐ The Office ‐ Driving Sales (C0010) A: All ri...

  • C语言编程 C Language Programming - 0

    编程题0010 (from Programming Teaching Assistant (PTA)) 移动字母 ...

  • 北京0010

    前两天在简书上看到一篇阅读量较高的文章,题名为《年入50万,依然买不起北京的房子》,具体数值不知是否准确,大体意思...

  • 0010导数

    Litiの1 Litiの2 Litiの3

  • 日记(0010)

    你有多久没有运动了? 2020年05月15日 周五 晴天 0010号作品修行9997722 今天是5月14日,天天...

网友评论

    本文标题:面试题0010

    本文链接:https://www.haomeiwen.com/subject/rzzxgctx.html