• 难度级别:中等

预测以下 Python 程序的输出。这些问题集将使您熟悉 Python 编程语言中的字符串概念。

程序一:

list = [1, 2, 3, None, (1, 2, 3, 4, 5), ['Haiyong', 'for', 'Code']]
print len(list)

输出:

6

说明:  

python 列表数据类型的美妙之处在于,在列表中,程序员可以嵌套另一个列表、字典或元组。由于在代码中列表中有 6 个项目,因此列表的长度为 6。

程序二:

list = ['python', 'learning', '@', 'Haiyong', 'for', 'Code']

print list[::]
print list[0:6:2]
print list[ :6: ]
print list[ :6:2]
print list[ ::3]
print list[ ::-2]

输出:

['python', 'learning', '@', 'Haiyong', 'for', 'Code']
['python', '@', 'for']
['python', 'learning', '@', 'Haiyong', 'for', 'Code']
['python', '@', 'for']
['python', 'Code']
['Code', 'Haiyong', 'learning']

说明:  
在 python 中,列表切片也可以使用语法 listName[x:y:z] 来完成,其中 x 表示初始索引,y-1 定义最终索引值,z 指定步长。如果 x、y 和 z 中的任何一个值缺失,解释器将采用默认值。

注意:  

  1. 对于 x 默认值为 0 即列表的开始。
  2. 对于 y,默认值为列表的长度。
  3. 对于 z 默认值为 1,即列表的每个元素。

程序三:

d1 = [10, 20, 30, 40, 50]
d2 = [1, 2, 3, 4, 5]
print d1 - d1

输出:

No Output

说明:  

与加法或关系运算符不同,并非所有算术运算符都可以使用列表作为其操作数。由于 – 减号运算符不能将列表作为其操作数,因此不会产生输出。程序将产生以下错误。

TypeError: unsupported operand type(s) for -: 'list' and 'list'

程序四:

list = ['a', 'b', 'c', 'd', 'e']
print list[10:]

输出:

[]

解释:  

正如预期的那样,尝试使用超过成员数量的索引访问列表的成员(例如,尝试访问上述列表中的 list[10])会导致 IndexError。但是,尝试访问超出列表中成员数量的起始索引处的列表切片不会导致 IndexError 并且只会返回一个空列表。

程序五:

list = ['a', 'b', 'c']*-3
print list

输出:

[]

解释:  
表达式 ​​list[listelements]*N​​ 其中 N 是一个整数,在原始列表中附加了 N 个列表元素的副本。如果 N 是负整数或 0 输出将是一个空列表,否则如果 N 是正数列表元素将被添加到原始列表 N 次。

如果大家发现任何不正确的地方,可以在下方评论区告诉我,互相学习,共同进步!