tau*_*ker 6 python list python-3.x
我创建了一个列表,并希望从列表中选择一些要打印的项目.下面,我只想打印索引0处的"bear"和索引3处的"kangaroo".我的语法不正确:
>>> animals = ['bear', 'python', 'peacock', 'kangaroo', 'whale', 'platypus']
>>> print (animals[0,3])
Run Code Online (Sandbox Code Playgroud)
回溯(最近一次调用最后一次):文件"",第1行,打印(animals [0,3])TypeError:列表索引必须是整数或切片,而不是元组
我试过索引之间的空格,但它仍然给出一个错误:
>>> print (animals[0, 3])
Run Code Online (Sandbox Code Playgroud)
回溯(最近一次调用最后一次):文件"",第1行,打印(animals [0,3])TypeError:列表索引必须是整数或切片,而不是元组
我可以打印单个值或0-3范围,例如:
>>> print (animals [1:4])
['python', 'peacock', 'kangaroo']
Run Code Online (Sandbox Code Playgroud)
如何打印多个非连续列表元素?
要从列表中选择任意项,您可以使用operator.itemgetter
:
>>> from operator import itemgetter
>>> print(*itemgetter(0, 3)(animals))
bear kangaroo
>>> print(*itemgetter(0, 5, 3)(animals))
bear platypus kangaroo
Run Code Online (Sandbox Code Playgroud)
animals[0,3]
Python的list
类型不支持使用元组切片.如果您想要某些任意值,则必须单独索引它们.
print(animals[0], animals[3])
Run Code Online (Sandbox Code Playgroud)
list(animals[x] for x in (0,3))
是你想要的子集.与numpy数组不同,本机Python列表不接受列表作为索引.
您需要将生成器表达式包装在其中list
以打印它,因为它没有可接受的__str__
或__repr__
单独的.你也可以使用str.join
一个可接受的效果:', '.join(animals[x] for x in (0,3))
.
归档时间: |
|
查看次数: |
10007 次 |
最近记录: |