假设我有两个列表:
a = [1,2,3,4,5]
b = [float]
我的要求是只获取“ b”中“ a”列表的值,即
b = [1,2,3,4,5, float]
因此,如果我们追加插入内容,那将再次创建我不想要的列表清单。
任何建议
答案 0 :(得分:3)
假设您输入的是:
a = [1,2,3,4,5]
b = ['float']
b{:] = a+b
print (b)
其输出将是:
[1, 2, 3, 4, 5, 'float']
如果您输入的是:
a = [1,2,3,4,5]
b = [float]
那么您的输出将是:
[1, 2, 3, 4, 5, <class 'float'>]
答案 1 :(得分:2)
这可能有点笨拙,但是可以满足您的要求:
a = [1, 2, 3, 4, 5]
b = ["float"]
print(id(b))
for n in reversed(a):
b.insert(0, n)
print(b) # [1, 2, 3, 4, 5, 'float']
print(id(b))
请注意,id
不会更改-不会创建新列表。
切片分配也可以工作:
b0 = b[0]
b[:len(a)] = a
b.append(b0)
如果您不介意使用deque
而不是list
,也可以这样做:
from collections import deque
a = [1, 2, 3, 4, 5]
b = deque(["float"])
b.extendleft(reversed(a)) # deque([1, 2, 3, 4, 5, 'float'])
答案 2 :(得分:1)
您可以使用:
a.__add__(b)
输出:
[1,2,3,4,5,