python自动化面试题

持续更新中......

题一:列表去重

list001 =['001', '001', '002', '003', '003', '004', '005', '006', '006', '008', '009', '010', 'a', 'b', 'c']

方法一:利用集合去重,集合是无序的

list(set(list001))

方法二:利用key值去重,去重后不会改变元素的顺序

list({}.fromkeys(list001).keys())

执行结果:

利用集合去重结果: ['a', '002', 'b', 'c', '005', '004', '001', '006', '008', '010', '009', '003']

利用key值去重结果: ['001', '002', '003', '004', '005', '006', '008', '009', '010', 'a', 'b', 'c']

题二:列表截取

list001 =['001', '001', '002', '003', '003', '004', '005', '006', '006', '008', '009', '010', 'a', 'b', 'c']

要点一: 截取前三个元素:  list001[:3]

要点二: 截取后三个元素:  list001[-3:0]

要点三: 截取第三个以后的元素:  list001[3:]

要点四: 翻转元素:  list001[::-1]

执行结果:

截取列表前3个元素 ['001', '001', '002'] 

截取列表后3个元素 ['a', 'b', 'c']

截取列表第3个以后的元素 ['003', '003', '004', '005', '006', '006', '008', '009', '010', 'a', 'b', 'c']

列表按照index逆序排序: ['c', 'b', 'a', '010', '009', '008', '006', '003', '001', '006', '005', '004', '003', '002', '001']

题三:元组和列表的区别

Tuples:元祖->不可变

list:列表->可变

列表可以增删改查,元组只能查

题四:计算1到100的数字相加

方法一:使用for循环

sum = 0

for i in range(101):

    sum = sum + i

print(sum)

方法二:使用while循环

i = 0 

sum = 0

while i<101:

    sum = sum + i

    a = a + 1

print(sum)

执行结果:

5050

题五:寻找最值

list002 = [1,5,2,8,6,3,7,4,10]

最小值: min(list002)

最大值: max(list002)

执行结果:

最小值:1

最大值:10

题六:排序

方法一:冒泡排序

list003 = [1,5,2,8,6,3,7,4,10]

for i in range(len(list003)):

    for j in range(0,len(list003)-i-1):

        if list003[j]>list003[j+1]:

            list003[j],list003[j+1] = list003[j+1],list003[j]

print(list003)

方法二:内置函数排序

list003.sort()

print(list003)

执行结果:

[1, 2, 3, 4, 5, 6, 7, 8, 10]

题七:输出乘法表

方法一:

for i in range(1,10):

    list2 = []

    for j in range (i,10):

        list2.append('%d*%d=%d'%(i,j,i*j))

    print(list2)

执行结果:

['1*1=1', '1*2=2', '1*3=3', '1*4=4', '1*5=5', '1*6=6', '1*7=7', '1*8=8', '1*9=9'] 

['2*2=4', '2*3=6', '2*4=8', '2*5=10', '2*6=12', '2*7=14', '2*8=16', '2*9=18'] 

['3*3=9', '3*4=12', '3*5=15', '3*6=18', '3*7=21', '3*8=24', '3*9=27'] 

['4*4=16', '4*5=20', '4*6=24', '4*7=28', '4*8=32', '4*9=36']

['5*5=25', '5*6=30', '5*7=35', '5*8=40', '5*9=45']

['6*6=36', '6*7=42', '6*8=48', '6*9=54']

['7*7=49', '7*8=56', '7*9=63']

['8*8=64', '8*9=72']

  ['9*9=81']

题八:数据类型转换

要点一:列表转化为字符串:

list004 = [1,5,2,8,6,3,7,4,10]

str001 = ''.join(list004)

要点二:字符串分割成列表:

str002 = 'abc'

list004.extend(str002)

要点三:两个列表转换为字典:

list005=['key1','key2']

list006=['a','b']

dict(zip(list003,list004))

执行结果:

要点一结果:1528637410

要点二结果: [1,5,2,8,6,3,7,4,10,a,b,c]

要点三结果:{'key1': 'a', 'key2': 'b'}

题九:迭代器

遍历下面列表

list007 = [6, 4, "python", 7, 2]

for循环遍历:

for i in list007:

    print(i)

迭代器遍历:

diedaiqi = list007.__iter__()     #生成迭代器

for i in list007:

    print(diedaiqi.__next__())    #利用迭代器查找下个元素

执行结果:

6

4

python

7

2

你可能感兴趣的:(python自动化面试题)