Python 3.x 如何在另一个列表中仅获取一个列表的值?

Python 3.x 如何在另一个列表中仅获取一个列表的值?,python-3.x,Python 3.x,假设我有两个列表: a = [1,2,3,4,5] b = [float] 我的要求是只获取“b”中“a”列表的值,即 b = [1,2,3,4,5, float] 所以,如果我们附加insert,这将再次创建列表的列表,这是我不想要的 任何建议您可以使用: a.__add__(b) 输出: [1,2,3,4,5,]这可能有点笨拙,但它可以满足您的需要: a = [1, 2, 3, 4, 5] b = ["float"] print(id(b)) for n in

假设我有两个列表:

a = [1,2,3,4,5]
b = [float]
我的要求是只获取“b”中“a”列表的值,即

b = [1,2,3,4,5, float]
所以,如果我们附加insert,这将再次创建列表的列表,这是我不想要的

任何建议

您可以使用:

a.__add__(b)
输出:


[1,2,3,4,5,]

这可能有点笨拙,但它可以满足您的需要:

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)

如果您不介意使用列表而不是
列表
,您也可以这样做:

from collections import deque

a = [1, 2, 3, 4, 5]
b = deque(["float"])

b.extendleft(reversed(a))   # deque([1, 2, 3, 4, 5, 'float'])
假设您的输入是:

a = [1,2,3,4,5]
b = ['float']

b{:] = a+b

print (b)
a = [1,2,3,4,5]
b = [float]
其输出将为:

[1, 2, 3, 4, 5, 'float']
如果您的输入是:

a = [1,2,3,4,5]
b = ['float']

b{:] = a+b

print (b)
a = [1,2,3,4,5]
b = [float]
那么您的输出将是:

[1, 2, 3, 4, 5, <class 'float'>]
[1,2,3,4,5]

b=a+b就可以得到结果吗?我不建议用很多代码来做这件事。@JoeFerndz不,这会创建一个新的列表,而不是OP想要的。
b[:]=a+b
>a=[1,2,3,4]
<140368030961024
>id(b)
=a+b
>id(b)
140368030374656
>b
[1,2,3,4,'float']
@JoeFerndz
b[:]
就可以了。聪明+1.