python字符串集合面试笔试题
python字符串面试笔试题
- 1: 以下代码的输出是?
s = 'foo'
t = 'bar'
print('barf' in 2 * (s + t))
A.True
B.Fasle
+运算符连接字符串,而*运算符创建多个副本。 2 *(s + t)的结果是'foobarfoobar',它确实包含字符串'barf'。
- 2: 以下代码的输出是?
print(ord('foo'))
A.102
B.102 111 111
C.异常
ord()函数返回给定字符的整数值。 但是您只能指定一个字符(长度为1的字符串):
- 3: 给出字符串s的从倒数第一个开始,每3个取一个的切片表达式是什么?
A.s[::-3]
B.s[::3]
C.s[:3:-1]
切片表达式中的第三个索引为-3,表示从倒数第一个开始,每3个取一个。第一个和第二个索引应为-1(最后一个字符)和0(第一个字符)。 这些使用默认值即可。
- 4: s = 'foobar', 下面哪个表达式的结果和其他不同
A.s[::5]
B.s[0] + s[-1]
C.s[::-1][::-5]
D.s[::-5]
E.s[::-1][-1] + s[len(s)-1]
- 5: s = 'foobar',下面哪些表达式为True
A.s[::-1][::-1] is s
B.s[::-1][::-1] == s
C.s[:] == s
D.s[:] is s
s [:]创建对原始字符串s的实际引用。 因此,不仅s和s [:]相等,而且它们也具有相同的id():
s [::-1]反转s,但创建对新对象的引用。 附加的[::-1]切片会再次将其反转,因此它等于原始的s。 但这不是同一对象:
>>> s = 'foo'
>>> id(s)
60155776
>>> id(s[:])
60155776
>>> s = 'foo'
>>> id(s)
60155776
>>> id(s[::-1][::-1])
63665824
- 6: 用f字符串补全 返回'Hello, my name is name.'
def greet(person):
return # Use an f-string
A.f'Hello, my name is {person}.'
B.f'Hello, my name is person.'
C.f'Hello, my name is {%person}.'
f字符串看起来像普通的字符串,但以f或F为前缀。f字符串中的变量用花括号括起来。
- 7: 以下代码的输出是?
print(
'$100 $200 $300'.count('$'),
'$100 $200 $300'.count('$', 5, 10),
'$100 $200 $300'.count('$', 5)
)
A.3 2 1
B.3 1 1
C.3 1 2
D.3 1 0
str.count() 计算指定字符串中给定子字符串的出现次数。第二个和第三个参数表示
- 8: s = 'foo-bar-baz',下面哪些表达式和s相等。
A.s.center(15)
B.s.strip('-')
C.'-'.join(s.partition('-'))
D.'-'.join(s.split('-'))
E.s.upper().lower()
- 9: 下面哪些表达式可以创建包含5个null (0x00)的 bytes.
A.bytes(5)
B.bytes('\x00\x00\x00\x00\x00', 'utf-8')
C.bytes([0] * 5)
D.bytes((0, 0, 0, 0, 0))
bytes(5)的参数可为整数,字符串和编码或迭代类型。 但不能是多个整数。
- 10: 以下代码的输出是?
list((b'abcde' + 'fghi')[3:6])
A.[b'd', b'e', b'f']
B.[100, 101, 102]
C. b'def'
D. 异常
- 11: 在Python中,字符串是…
A. str对象
B. 字符数组
C. 不变的
D. 可变的
- 12: 以下哪一项给予字母“e”的前两次出现时将字符串分开?
A.'e'.split("dededede", maxsplit = 2)
B."dededede".split('e', maxsplit = 2)
C.'e'.split("dededede", 2)
D. "dededede".split('e', 2)
- 13: 以下哪些数学运算符可用于连接字符串:
A. -
B. +
C. /
D. *
-
14: s="hello",一行代码将s反序转换成'olleh'
-
15: 哪些方法可以实现字符串连接
A. join()
B. +
C. %
D. format()
E. f-string
以上答案在订阅号pythontesting 输入 答案 可以获取。
参考资料
- 本文涉及的python测试开发库 谢谢点赞! https://github.com/china-testing/python_cn_resouce
- python精品书籍下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
python集合面试笔试题
- 1 哪些关于Python的set类型的描述是正确的:
A. 集合可能包含可变元素。
B. 集合是可变的。
C. 集合中元素的顺序很重要。
D. 给定元素不能出现在集合中多次。
- 2 以下哪些定义集合{'a','b','c'}:
A. s = {('a', 'b', 'c')}
B. s = {'a', 'b', 'c'}
C. s = set('abc')
D. s = set(['a', 'b', 'c'])
E. s = set('a', 'b', 'c')
- 3 s = {100, 200, 300}, 以下哪个语句不能正确产生s与集合{300,400,500}的并集:
A. s.union([300, 400, 500])
B. s.union(set([300, 400, 500]))
C. s.union({300, 400, 500})
D. s | [300, 400, 500]
E. s | set([300, 400, 500])
- 4 {'b', 'a', 'r'} & set('qux')的结果是:
A. {'b', 'r', 'a'}
B.set()
C.{}
D.{'q', 'r', 'x', 'u', 'b', 'a'}
- 5 {1, 2, 3, 4, 5} - {3, 4} ^ {5, 6, 7} 的结果是:
A. {1, 2}
B.{1, 2, 6, 7}
C.{3, 4, 5, 6, 7}
D.set()
- 6 集合s定义如下:s = {'foo', 'bar', 'baz', 'qux'}。哪些删除了元素'bar':
A. del s['bar']
B.s.discard('bar')
C. s.difference_update({'bar'})
D.s.pop()
E. s -= {'bar'}
F. s &= {'foo', 'baz', 'qux'}
- 7 求以下代码的输出:
set1 = {1, 2, 3}
set2 = set1.add(4)
print(set2)
A. {1, 2, 3, 4}
B {1, 2, 3}
C 语法错误
D None
- 8 求以下代码的输出:
set1 = {1, 2, 3}
set2 = {4, 5, 6}
print(len(set1 + set2))
A 3
B 6
C 不确定
D 错误
- 9 求以下代码的输出:
A = {0, 2, 4, 6, 8};
B = {1, 2, 3, 4, 5};
print( A - B)
A {0, 1, 2, 3, 4, 5, 6, 8}
B {0, 8, 6}
C {2, 4}
- 10 求以下代码的输出:
A = {0, 2, 4, 6, 8};
B = {1, 2, 3, 4, 5};
print( A ^ B)
A {0, 1, 2, 3, 4, 5, 6, 8}
B {2, 4}
C {0, 8, 6}
D {0, 1, 3, 5, 6, 8}
以上答案在订阅号pythontesting 输入 答案 可以获取。