翼度科技»论坛 编程开发 python 查看内容

python字符串集合面试笔试题

2

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
python字符串面试笔试题


  • 1: 以下代码的输出是?
  1. s = 'foo'
  2. t = 'bar'
  3. print('barf' in 2 * (s + t))
复制代码
A.True
B.Fasle
+运算符连接字符串,而*运算符创建多个副本。 2 *(s + t)的结果是'foobarfoobar',它确实包含字符串'barf'。

  • 2: 以下代码的输出是?
  1. 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。 但这不是同一对象:
  1. >>> s = 'foo'
  2. >>> id(s)
  3. 60155776
  4. >>> id(s[:])
  5. 60155776
  6. >>> s = 'foo'
  7. >>> id(s)
  8. 60155776
  9. >>> id(s[::-1][::-1])
  10. 63665824
复制代码

  • 6: 用f字符串补全 返回'Hello, my name is name.'
  1. def greet(person):
  2.     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: 以下代码的输出是?
  1. print(
  2.     '$100 $200 $300'.count('$'),
  3.     '$100 $200 $300'.count('$', 5, 10),
  4.     '$100 $200 $300'.count('$', 5)
  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: 以下代码的输出是?
  1. 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集合面试笔试题


  • 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 求以下代码的输出:
  1. set1 = {1, 2, 3}
  2. set2 = set1.add(4)
  3. print(set2)
复制代码
A. {1, 2, 3, 4}
B {1, 2, 3}
C 语法错误
D None

  • 8 求以下代码的输出:
  1. set1 = {1, 2, 3}
  2. set2 = {4, 5, 6}
  3. print(len(set1 + set2))
复制代码
A 3
B 6
C 不确定
D 错误

  • 9 求以下代码的输出:
  1. A = {0, 2, 4, 6, 8};
  2. B = {1, 2, 3, 4, 5};
  3. print( A - B)
复制代码
A {0, 1, 2, 3, 4, 5, 6, 8}
B {0, 8, 6}
C {2, 4}

  • 10 求以下代码的输出:
  1. A = {0, 2, 4, 6, 8};
  2. B = {1, 2, 3, 4, 5};
  3. 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 输入 答案 可以获取。

来源:https://www.cnblogs.com/testing-/p/17353730.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具