跳转至

Python练习:元组和列表

题目1

有如下的代码,定义了一个Python列表 变量

var1 = [ 33, ['我的名字', '黑羽白月'], 'hello world!']

请接下来写一行代码,打印出var1这个列表变量里面的 字符串 hello world!


答案视频讲解


请大家点击此处链接,观看讲解视频




题目2

有如下的代码,定义了一个Python列表 变量

var1 = [ 33, ['我的名字', '黑羽白月'], 'hello world!']

请接下来写一行代码,打印出var1这个列表变量里面的 人名字 黑羽白月


答案视频讲解


请大家点击此处链接,观看讲解视频




题目3

有如下的代码,定义了一个Python列表 变量

var1 = [ 33, ['我的名字', '黑羽白月'], 'hello world!']

请分别用一行代码,实现:

  • 修改var1这个列表变量里面的 hello world!Oh my God!
  • 修改var1这个列表变量里面的 人名字 黑羽白月拜月童子


答案视频讲解


请大家点击此处链接,观看讲解视频




题目4

有如下的代码,定义了一个Python列表 变量

var1 = [ 33, ('我的名字', '黑羽白月'), 'hello world!']

请接下来写一行代码, 修改var1这个列表变量里面的 人名字 黑羽白月拜月童子


答案视频讲解


请大家点击此处链接,观看讲解视频



题目5

判断一下,下面的 代码,执行后打印出的结果是 hello, 还是 ok

def func(arg):
    arg = 'hello'

var = 'ok'
func(var)
print(var)


答案视频讲解


请大家点击此处链接,观看讲解视频




判断一下,下面的 代码,执行后打印出的结果是 ['hello'], 还是 ['ok']

def func(arg):
    arg[0] = 'hello'

var = ['ok']
func(var)
print(var)


答案视频讲解


请大家点击此处链接,观看讲解视频



判断一下,下面的 代码,执行后打印出的结果是 ['hello'], 还是 ['ok']

def func(arg):
    arg = ['hello']

var = ['ok']
func(var)
print(var)


答案视频讲解


请大家点击此处链接,观看讲解视频

前面这3题,如果看完视频讲解还不明白,请点击这里,观看白月黑羽和VIP实战班学员的1对1讲解




题目6

判断下面的说法是否正确

  • 列表和元组里面的元素可以是任意类型的对象,包括字符串、数字、列表、元组、函数

  • 切片操作只能用在列表上,不能用在元组上,因为元组是不可改变的

  • 有如下的代码,定义了一个Python列表 变量

var1 = [ 33, ['我的名字', '黑羽白月'], 'hello world!']

我们可以说 '我的名字' 是 var1 对应的列表里面的一个元素


答案视频讲解


请大家点击此处链接,观看讲解视频


补充练习

VIP实战班学员请联系老师获取补充练习,并做阶段学习交流

您需要高效学习,找工作? 点击咨询 报名实战班

点击查看学员就业情况

题目1-答案

有如下的代码,定义了一个Python列表 变量

var1 = [ 33, ['我的名字', '黑羽白月'], 'hello world!']

请接下来写一行代码,打印出var1这个列表变量里面的 字符串 hello world!

分析

这个字符串是列表的最后一个元素,也可以说是列表的第3个元素

我们可以这样打印

print(var1[-1])

也可以这样打印

print(var1[2])



题目2-答案

有如下的代码,定义了一个Python列表 变量

var1 = [ 33, ['我的名字', '黑羽白月'], 'hello world!']

请接下来写一行代码,打印出var1这个列表变量里面的 人名字 黑羽白月

分析

这个人名字是列表的第2个元素(第2个元素本身也是列表) 里面的第二个元素

我们可以这样打印

print(var1[1][1])



题目3-答案

有如下的代码,定义了一个Python列表 变量

var1 = [ 33, ['我的名字', '黑羽白月'], 'hello world!']

请分别用一行代码,实现:

  • 修改var1这个列表变量里面的 hello world!Oh my God!
  • 修改var1这个列表变量里面的 人名字 黑羽白月拜月童子

分析

列表是可变数据类型,因为列表中的元素是可以被替换的。

  • 修改var1这个列表变量里面的 hello world!Oh my God!

    var1[-1] = 'Oh my God!'
    
  • 修改var1这个列表变量里面的 人名字 黑羽白月拜月童子

    var1[1][1] = '拜月童子'
    



题目4-答案

有如下的代码,定义了一个Python列表 变量

var1 = [ 33, ('我的名字', '黑羽白月'), 'hello world!']

请接下来写一行代码, 修改var1这个列表变量里面的 人名字 黑羽白月拜月童子

分析

元组(Tuple)是不可变数据类型,我们不能这样修改

var1[1][1] = '拜月童子'

因为 var1[1] 对应的正是里面的第2个元组对象。

要修改其内容, 只有把var1 这个列表对象的整个第2个元组对象替换掉。 因为列表的元素是可以修改的。

所以,可以这样

var1[1] = ('我的名字', '拜月童子')



题目5-答案

判断一下,下面的 代码,执行后打印出的结果是 hello, 还是 ok

def func(arg):
    arg = 'hello'

var = 'ok'
func(var)
print(var)

答: 还是 'ok' 。

var = 'ok'
这行代码让变量var 指向了 字符串对象 'ok'



func(var)
这行代码调用函数,首先让参数变量arg也指向了 字符串对象 'ok'

后面函数里面执行

arg = 'hello'

让参数变量arg指向关系发生了改变,它指向了另一个字符串对象 'hello'

但是,这不会改变 var指向的对象, var还是指向 字符串对象 'ok'

所以调用完后, print(var) 的结果,还是 'ok'





判断一下,下面的 代码,执行后打印出的结果是 ['hello'], 还是 ['ok']

def func(arg):
    arg[0] = 'hello'

var = ['ok']
func(var)
print(var)

答: 是['hello'] 。

var = ['ok']
这行代码让变量var 指向了 列表对象 ['ok']



func(var)
这行代码调用函数,首先让参数变量arg也指向了 列表对象 ['ok']



后面函数里面执行

arg[0] = 'hello'

列表对象因为这行代码 发生了改变。

注意:是变量 arg 指向的列表对象 本身改变了,不是变量 arg 指向关系 发生改变。

所以 外面的 全局变量 var也指向这个列表对象, 列表对象本身改变,自然var 对应的值 也改变了。




判断一下,下面的 代码,执行后打印出的结果是 ['hello'], 还是 ['ok']

def func(arg):
    arg = ['hello']

var = ['ok']
func(var)
print(var)

答: 是['ok'] 。

var = ['ok']
这行代码让变量var 指向了 列表对象 ['ok']



func(var)
这行代码调用函数,首先让参数变量arg也指向了 列表对象 ['ok']



后面函数里面执行

arg= ['hello']

让参数变量arg指向关系发生了改变,它指向了 另一个 列表对象 ['hello']

但是,这不会改变 var指向的对象, var还是指向 列表对象 ['ok']

所以调用完后, print(var) 的结果,还是 ['ok']