3 回答
![?](http://img1.sycdn.imooc.com/54584d1300016b9b02200220-100-100.jpg)
TA贡献1900条经验 获得超5个赞
如果您想使用该* 2习惯用法,您可以使用extend()并向其传递一个包含由 . 制成的两个项目的列表[i] * 2。
例如:
def double_list(alist):
blist = []
for i in alist:
blist.extend([i]*2)
return blist
orig = ['how','are','you?']
print('double list: ',double_list(orig))
# double list: ['how', 'how', 'are', 'are', 'you?', 'you?']
注意:您获取双精度值的原因original list: ['howhow', 'areare', 'you?you?'] 是因为您正在打印函数的返回值,而不是原始列表。
![?](http://img1.sycdn.imooc.com/54584dc4000118d302200220-100-100.jpg)
TA贡献1868条经验 获得超4个赞
您正在将字符串添加在一起。只需将它们附加两次即可。
blist = []
def double_list(alist):
for i in alist:
blist.append(i)
blist.append(i)
return blist
print('original list: ',double_list(['how','are','you?']))
print('double list: ',blist)
我确信有更好的方法来做到这一点,但这有助于更好地理解解决方案。
![?](http://img1.sycdn.imooc.com/54584f850001c0bc02200220-100-100.jpg)
TA贡献1799条经验 获得超9个赞
只需使用extend()方法,它允许您将两个列表组合在一起。
此外,您还必须更改打印语句,因为否则您将只打印出列表的“重复”版本,而不是原始版本。
因此,我们将通过一个包含2x 所需字符串的列表来扩展“blist”。
代码应如下所示:
blist = []
def double_list(alist):
for word in alist:
blist.extend([word]*2)
return blist
original_list = ['how','are','you?']
print('original list: ', original_list)
print('double list: ', double_list(original_list))
添加回答
举报