python初学笔记——列表转字符串打印

python初学笔记1

作文新手小白的第一篇个人博客,还是得纪念一下哒,日常分享一些自己初学的一些想法和笔记,或者自己的想法。现在正在用课余时间学习Python,菜鸟练级之路漫漫无期…会更新一些在学Python过程中遇到的小问题解决想法。
目前在看的书是《Python编程快速上手》

第四章4.10.1实践项目

假定有下面这样的列表:

spam = [‘apples’, ‘bananas’, ‘tofu’, ‘cats’]

编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所
有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入 and。例如,将前面的 spam 列表传递给函数,将返回’apples, bananas, tofu, and cats’。但你的函数应该能够处理传递给它的任何列表。

在编程过程中,因为是在列表这一章,所以在看到这个项目之后第一反应是利用列表的知识去设计,因为我也是一个菜鸟,所以想法很简单:
既然列表是可以改变的,而不像字符串那样可以随意修改,那么先进行添加操作,在每一个列表元素前加‘ , ’和在最后一个元素前加‘ and ’;在添加操作后将列表转换为字符串打印出来。

算法设计:
1.for循环在每个列表下标对应元素,添加’ , ’ ; 在最后一个元素前insert(length-1,'and ')
2.通过join函数将列表转化生成新的字符串打印显示

代码如下:

def change(info):
    length = len(info)
    #test = []
    for i in range(length-1):
        info[i] = info[i] + ', '
    info.insert(length-1,'and ')
    test = ''.join(info)
    return test

spam = ['apples', 'bananas', 'tofu', 'cats']
s = change(spam)
print(s)

在上网查询之后,发现还有另一种方法,分享一下

def comma(spam):
    _str = ''
    for i in range(len(spam) - 1):
        _str = _str + spam[i] + ', '
    _str = _str + 'and '
    _str = _str + spam[len(spam) - 1]
    return _str

spam = ['apples', 'bananas', 'tofu', 'cats']
print(comma(spam))

这算是本人第一次写博客,技术不足,正在学习。ヾ(◍°∇°◍)ノ゙

你可能感兴趣的:(Python)