gpt4 book ai didi

python - 在python中将两个列表连接成元组

转载 作者:太空宇宙 更新时间:2023-11-04 07:20:18 25 4
gpt4 key购买 nike

我想使用 python 中的 join 函数(不是任何其他函数)将两个列表合并为嵌套列表,假设列表长度相等,例如:

list1 = [1, 2, 3]

list2 = ["a", "b", "c"]

我希望它产生一个像这样的新列表:

[[1,"a"], [2,"b"], [3,"c"]]

最佳答案

我认为你不明白 str.join 的用途。

str.join是一个字符串方法,它接受一个可迭代的字符串(通常是一个列表)并返回一个新的字符串对象,该对象是由调用该方法的字符串分隔的那些字符串的串联。

下面是一个演示:

>>> strs = ['a', 'b', 'c']
>>> ''.join(strs)
'abc'
>>> '--'.join(strs)
'a--b--c'
>>>

这意味着您不会将 str.join 用于您正在尝试执行的操作。相反,您可以使用 zip和一个 list comprehension :

>>> list1 = [1, 2, 3]
>>> list2 = ["a", "b", "c"]
>>> [list(x) for x in zip(list1, list2)]
[[1, 'a'], [2, 'b'], [3, 'c']]
>>>

但是请注意,如果您使用的是 Python 2.x,则可能需要使用 itertools.izip而不是 zip:

>>> from itertools import izip
>>> list1 = [1, 2, 3]
>>> list2 = ["a", "b", "c"]
>>> [list(x) for x in izip(list1, list2)]
[[1, 'a'], [2, 'b'], [3, 'c']]
>>>

与 Python 3.x zip 一样,itertools.izip 将返回一个迭代器(而不是像 Python 2.x zip 那样的列表>).这使其更加高效,尤其是在处理更大的列表时。

关于python - 在python中将两个列表连接成元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21196165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com