如何复制列表中的元素? (Python 3.x)

时间:2018-04-15 14:41:39

标签: python python-3.x list

如何复制列表中的元素? 没有返回任何值,甚至不改变列表的顺序?

例如我已经定义了一个带参数的函数:

def func1(list1):

  • func1应该修改list1,以便每个元素出现两次而不改变列表本身的顺序
像这样:

在:list1 = [342,548,23,321,555]

在:func1(list1)

在:list1

Out:[342,548,23,321,555,342,548,23,321,555]

非常感谢你!

5 个答案:

答案 0 :(得分:2)

def func1(list1):
    list1.extend(list1)

答案 1 :(得分:1)

In [47]: list1 = [342, 548, 23, 321, 555]

In [48]: list1*2
Out[48]: [342, 548, 23, 321, 555, 342, 548, 23, 321, 555]

答案 2 :(得分:0)

我们可以使用list[:] = other_list重新分配列表的内容。 list*2会给我们两次整个列表

def func1(inlist):
    inlist[:] = inlist*2

答案 3 :(得分:0)

def func1(list1):
    list1 = list1 * 2
    print(list1)

list1 * 2将按顺序

复制列表中的值

答案 4 :(得分:0)

最好的方法是:

list_2=list1*2
print(list_2)

其他方式你也可以使用itertools循环:

final_result=[]
count=0
for i in itertools.cycle(list1):
    count+=1
    if count==2*len(list1)+1:
        break

    final_result.append(i)
print(final_result)

输出:

[342, 548, 23, 321, 555, 342, 548, 23, 321, 555]