Kol*_*Boy 2 python return function list
如果我用打印功能这样做
def numberList(items):
     number = 1
     for item in items:
         print(number, item)
         number = number + 1
numberList(['red', 'orange', 'yellow', 'green'])
我明白了
1 red
2 orange
3 yellow
4 green
如果我然后将打印功能更改为返回功能我只得到这个:
(1, 'red')
为什么会这样?
我需要返回功能完全像打印功能一样工作,我需要更改代码或重写...感谢...请尽可能简单,易懂和直截了当.
return结束函数,同时yield创建一个一次吐出一个值的生成器:
def numberList(items):
     number = 1
     for item in items:
         yield str((number, item))
         number = number + 1
item_lines = '\n'.join(numberList(['red', 'orange', 'yellow', 'green']))
或者,return一个清单:
def numberList(items):
     indexeditems = []
     number = 1
     for item in items:
         indexeditems.append(str((number, item)))
         number = number + 1
     return indexeditems
item_lines = '\n'.join(numberList(['red', 'orange', 'yellow', 'green']))
或者只是使用enumerate:
item_lines = '\n'.join(str(x) for x in enumerate(['red', 'orange', 'yellow', 'green'], 1)))
在任何情况下都'\n'.join(str(x) for x in iterable)需要像列表一样的东西,并将每个项目转换为字符串,如同print,然后将每个字符串与换行符连接在一起,就像多个print语句一样.
| 归档时间: | 
 | 
| 查看次数: | 20955 次 | 
| 最近记录: |