我是编程新手(使用 Python),有一个简单的问题。 我有这个包含不同元素的列表
tegn = ["a", "b", "c"]
和另一个列表
guess = ["a", "c", "c"]
我希望猜测列表更改为 ["a", "a", "a"]。我的尝试是:
guess[-2:] = tegn[0]
但这使得它成为 ["a", "a"],从而删除了一个元素。如何在不删除元素的情况下执行此操作?
编辑:
猜测列表在程序中会发生很大变化,因为我正在使用蛮力方法来猜测字符串。所以猜测将是 ["a"]、["b"]、["c"] ["a"、"a"]、["a"、"b"] 等等
请您参考如下方法:
您可以使用列表切片重新分配值:
guess = ["a", "c", "c"]
guess[1:] = ["a" for i in range(guess.count("c"))]
输出:
['a', 'a', 'a']
如果出于某种原因您使用了稍微不同的代码和获取嵌套列表:
import itertools
new_list = list(itertools.chain.from_iterable(guess))
编辑:
您可以使用 itertools.product 创建 ["a", "b", "c"] 所有可能配对的列表:
from itertools import product
l = "abc"
listing = list(product(l, repeat=2))
