【发布时间】:2019-02-10 14:11:14
【问题描述】:
这里是一个新手问题
我正在处理不同长度的字符串列表(其中每个字符串都是数字),例如
a = ['1', '5', '8', '11']
我需要使用 a[-1] 评估每个列表中的最后一项,这在大多数情况下都可以。
但是,当列表中只有一个长度超过 1 个字符的项目时,我遇到了一个问题:
a = ['10']
因为我使用的是 For 循环:
for el in a:
el[-1].....
el[-1] 然后等于“0”而不是“10”,因为我需要它
我该如何克服这个问题?
谢谢
编辑帖子。 感谢大家的所有建议。对不起,我把问题弄得一团糟,没有正确说明问题。 我有一个列表列表,所有列表看起来都像上面这样:
mylist = [a, b, c, ....] #a = ['1', '5', '8', '11']....
然后我在 mylist 上执行一个循环,其中每个列表的最后一个元素指向字典键 mygraph2.nodes[el[-1]]:
for el in mylist:
for loop_var in mygraph2.nodes[el[-1]].neighbors:
further code here....
我找到了解决问题的方法,但它并不优雅。
if len(el) == 1:
el = mylist
我强制最后一个元素是一个列表,即使是列表 1 长。 再次感谢
【问题讨论】:
-
a[-1:]给你一个切片,而不是对象,即使它是一个元素。不确定这是 Python2 还是 Python3 特定的。 -
你试过el[0]
-
a[-1]给你什么? - 10. -
for el in a已经为您提供了el中的每个单独元素。根本不需要使用任何索引。 -
@DanielRoseman 是对的,您想要实现的目标有点不清楚。你不知道'how'没关系,但你需要指定'what'
标签: python