把一根线当作一根线

2024-10-03 02:46:27 发布

您现在位置:Python中文网/ 问答频道 /正文

一个新手问题

我正在处理不同长度的字符串列表(其中每个字符串都是数字),例如

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项都很长。 再次感谢


Tags: 字符串in元素列表for情况数字el
3条回答

我认为您不需要在列表中循环,因为您将获得最后一个元素的最后一个数字
只需使用a[-1:]获取列表的最后一个元素。你知道吗

代码中的for循环将把列表a中的元素分配给each循环中的el变量。el的类型是string(str),在string对象上使用[-1]称为String Manipulation。你知道吗

如果a=['1','5','10']:

1. el = '1', el[-1] = '1', el[0] = '1'
2. el = '5', el[-1] = '5', el[0] = '5'
3. el = '10', el[-1] = '0', el[0] = '1'

因此,您可以只使用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])

相关问题 更多 >