Skip to main content
 首页 » 编程设计

python之将多个数组值更改为一个值

2025年05月04日21JeffreyZhao

我是编程新手(使用 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))