加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读