python – 将列表中的每个项目加倍
发布时间:2020-12-20 11:31:34 所属栏目:Python 来源:网络整理
导读:如何在不使用任何导入的情况下将列表中的每个项目加倍? 一些例子: multiply_items(['a','b'])['a','a','b',b'] multiply_items(['b','a'])['b',a'] multiply_items(['a','c'])['a',b','c',c'] multiply_items(['3','4'])['3','3','4',4'] multiply_items([
如何在不使用任何导入的情况下将列表中的每个项目加倍?
一些例子: >>> multiply_items(['a','b']) ['a','a','b',b'] >>> multiply_items(['b','a']) ['b',a'] >>> multiply_items(['a','c']) ['a',b','c',c'] >>> multiply_items(['3','4']) ['3','3','4',4'] >>> multiply_items(['hi','bye']) ['hi','hi','bye',bye'] 这是我想出来的,但它将元素组合在一起而不是单独的字符串. def multiply_items(sample_list): '''(list) -> list Given a list,returns the a new list where each element in the list is doubled. >>> multiply_items(['a','b']) ['a',b'] >>> multiply_items(['a','c']) ['a',c'] >>> multiply_items(['3','4']) ['3',4'] ''' new_list = [] for item in sample_list: new_list.append(item * 2) return new_list 我得到的输出: >>> multiply_items(['3','4']) ['33','44'] >>> multiply_items(['hi','bye']) ['hihi','byebye'] 谢谢你的帮助:) 解决方法
如此接近…天真的方法:
for item in sample_list: for i in range(2): new_list.append(item) 你的问题是由字符串也是列表这一事实引起的,因此’a’* 2不是[‘a’,’a’]而是aa.现在,知道问题,您仍然可以通过在单例列表中移动项目来在单个循环中解决它:更好的方法: for item in sample_list: new_list.extend([item] * 2) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |