一个新手问题
我正在处理不同长度的字符串列表(其中每个字符串都是数字),例如
a = ['1', '5', '8', '11']
我需要使用[-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:]
获取列表的最后一个元素。你知道吗代码中的
for
循环将把列表a
中的元素分配给each
循环中的el
变量。el
的类型是string(str
),在string对象上使用[-1]
称为String Manipulation。你知道吗如果a=['1','5','10']:
因此,您可以只使用
el
变量,而不是对其使用[-1]
。 如果您想要列表中的最后一个元素a
,只需使用a[-1]
,不需要循环。你知道吗只要做一个[-1]就可以得到列表的最后一个元素('10')。 执行for循环是错误的,当到达字符串的最后一个元素“0”时,它会给您一个[-1][-1]。请记住,在python中,字符串也被视为列表。你知道吗
如果x='10',x[0]='1',x[1]=x[-1]='0'
另外,如果希望输出为整数,可以将输出转换为int(a[-1])
相关问题 更多 >
编程相关推荐