找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 6652|回复: 4

[已解决] 如何用函数修改一个列表的元素?

1

主题

5

帖子

5

积分

贫民

积分
5
jonwicou 发表于 2016-10-31 23:10:49 | 显示全部楼层 |阅读模式
问题是这样的

我要定义了两个函数
第一个函数是这样的:

这个函数是用来打印列表的元素
def show_magicians(names):
    for magician_name in names:
        print(magician_name)

如何定义第二个函数把下面的列表中的每一个元素都加上“the Great" 字样,然后由上面的函数打印出来。
最终结果是:
The Great Jack
The Great Tom
The Great Jon

magician_names =  ['Jack', 'Tom', 'Jon']  

求大神指教,谢谢

回复

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2016-11-1 07:50:59 | 显示全部楼层
def show_magicians(names):
    for magician_name in names:
        print(magician_name)

def change_magicians(names):
    for i in range(len(names)):
        names[i] = 'The Great ' + names[i]

magician_names =  ['Jack', 'Tom', 'Jon']
change_magicians(magician_names)
show_magicians(magician_names)
python3.4.4, win10
回复 支持 1 反对 0

使用道具 举报

1

主题

5

帖子

5

积分

贫民

积分
5
jonwicou  楼主| 发表于 2016-11-1 09:11:54 | 显示全部楼层
whydo1 发表于 2016-11-1 07:50
def show_magicians(names):
    for magician_name in names:
        print(magician_name)

谢谢!
我懂了
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
鱼塘首席小龙虾 发表于 2016-11-1 17:44:46 | 显示全部楼层
还可以更短一点,通过列表生成式:
  1. names = ['Jack','Tom','John']

  2. def show_magicians(names):
  3.     for magician_name in names:
  4.         print(magician_name)

  5. def change_name(names):
  6.         GreatName = [ 'The Great '+ name for name in names]
  7.         show_magicians(GreatName)

  8. change_name(names)
复制代码
回复 支持 反对

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-11-1 19:20:41 | 显示全部楼层
鱼塘首席小龙虾 发表于 2016-11-1 17:44
还可以更短一点,通过列表生成式:

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表