我正试图在此子列表中使用某些项目,并在if语句中使用它,使其不想工作,这似乎是被遗忘了,只是似乎找不到任何内容
path = [['Start', 'Centre', 2], ['East', 3, 2], ['West', 6, 3], ['North', 1, 1]]
x = path[0]
if x == 'Start':
print(x)
答案 0 :(得分:0)
您可以访问以下子列表的元素:
path = [['Start', 'Centre', 2], ['East', 3, 2], ['West', 6, 3], ['North', 1, 1]]
x = path[0][0]
if x == 'Start':
print(x)
答案 1 :(得分:0)
您将需要一个for
循环来标识所有满足您条件的子列表。在这里,我们将其包装在一个生成器表达式中以保持其懒惰:
path = [['Start', 'Centre', 2], ['East', 3, 2], ['West', 6, 3], ['North', 1, 1]]
for value in (var for var, *others in path if var == 'Start'):
print(value)
# Start
答案 2 :(得分:0)
let url = NSURL(string: objPath!)
let asset = MDLAsset(url: url! as URL)
let node = SCNNode(mdlObject: asset.object(at: 0))
node.geometry?.firstMaterial?.diffuse.contents = NSColor.red
scnView.scene?.rootNode.addChildNode(node)
是一个列表。您可能打算使用x
,即该列表的第一个元素。
x[0]
答案 3 :(得分:0)
只要检查python shell中path[0]
的值,即可轻松解决此问题:
$ python3
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> path = [['Start', 'Centre', 2], ['East', 3, 2], ['West', 6, 3], ['North', 1, 1]]
>>> x = path[0]
>>> x
['Start', 'Centre', 2]
您会看到-惊奇-path[0]
是list
,因此很显然它不能与字符串进行相等比较。您要查找的字符串是x
中的第一个字符串,因此它是x[0]
:
>>> x[0] == "Start"
True
实际上,仅查看path
的定义就足以发现这一点-它是列表的列表,所以path[0]
显然是列表;-)