假设我有以下列表(Python3):
numbers = [1,2,3,4,5,6]
letters = [a,b,a,b,c,c]
state = [False, False, False, False, False, False]
我要做的是从用户那里接收两个在列表字母长度范围内的索引位置的输入。如果他的选择对应于匹配的字母,例如a和a(索引0和2),那么对于所述位置,列表状态必须从False更改为True。之后,它应该根据新的状态列表创建一个新列表,如果状态中的元素为False,则从数字中获取索引项,如果状态为true,则从列表字母中获取索引项:
choice = 0
choice_2 = 2
if letters[choice] == letters[choice_2]:
change state[choice] and state[choice_2] to True
create fourth list from list state and use values from numbers and letters
For i in range(len(state)):
if state[i] == True:
element in index[i] of list letters is used
else:
element in index[i] of list numbers is used
创建新列表,以便:
new_list = [a,2,a,4,5,6]
下面是我的解决方案:使用列表理解创建第四个列表,我将其命名为
mixed
。你知道吗输出:
注意,在代码中,我压缩了三个列表,并使用
states
列表中的元素从其他两个列表中选取元素。另外,我将state
(单数)重命名为states
(复数),以与其他列表的命名约定保持一致。你知道吗输入:
输出:
相关问题 更多 >
编程相关推荐