我有三张单子。根据用户的交互,这些列表可能对用户可用,也可能不可用,我设置它的方法是通过第四个列表跟踪列表名称和状态。但是当我试图使用第四个列表中的字符串值来访问其他列表时,我遇到了麻烦。你知道吗
也就是说,我想将可用列表中的所有字符串添加到主列表中-我应该怎么做?你知道吗
domesticated = ['cow', 'sheep', 'pig']
pets = ['cat', 'dog']
wildlife = ['giraffe', 'lion', 'panda']
masterList = ['domesticated', 'pets', 'wildlife'], ['off', 'on', 'on']
def currentLists():
activeList = ''
for i in range(len(masterList[0])):
if masterList[1][i] == 'on':
activeList = activeList + masterList[0][i]
return activeList
电流输出:
petswildlife
期望输出:
['cat', 'dog', 'giraffe', 'lion', 'panda']
很抱歉给您带来任何困惑,我是Python的初学者。非常感谢您的帮助。你知道吗
不应该使用字符串,而应该使用变量本身。我还将脚本更改为使用
zip
:zip([1, 2, 3], [4, 5, 6]) == [(1, 4), (2, 5), (3, 6)]
。你…带上它。你知道吗尽管有Gandaro's good advice,按名称检索变量是可能的。你知道吗
有vars()、globals()和locals()函数。 所以如果你想把它修好,你可以这样做:
应将三个变量
domesticated
、pets
和wildlife
替换为单个dict
:那么
注意
zip(*masterList)
,它的意思与zip(masterList[0], masterList[1])
相同。使用zip
和两个循环变量是同时在两个列表上循环的惯用方法。你知道吗对于额外的Python点,可以使用
sum
附加列表:相关问题 更多 >
编程相关推荐