这[0]可以表示整个列表吗?

时间:2018-10-16 20:17:41

标签: python python-3.x python-2.7

N1 = ["Ryan",
      "Remariz",
      "Christian" ,
      "Rmefer",
      "Colomn"
]

for names in N1:
    if names[0] == "C":        
        print("* " + names)

结果将是:

* Christian
* Colomn

我之所以问是因为我是一个初学者,我想知道[0]是否代表整个列表,因为我一直在尝试[2]但它不会打印。没有错误,并且输出中没有任何内容。我花了15分钟才弄清楚。我知道这对大多数人来说都是小菜一碟,但我刚开始就这么忍受。

3 个答案:

答案 0 :(得分:0)

N1仅仅是名称列表(字符串类型)。

当您循环/遍历列表(for names in N1)时,每次循环迭代都将作用于列表的索引。因此,对于循环的第一次迭代,names等于Ryan,因此,由于您正在访问字符串的第0个索引(第一个字符),因此names[0]等于 R names[2]等于 a

希望有帮助!

答案 1 :(得分:0)

缩进后,您的确切代码可以正常工作:

N1 = ["Ryan", "Remariz", "Christian" , "Rmefer", "Colomn" ]
for names in N1:
    if names[0] == "C":
        print("* " + names)

在for循环中,您正在遍历N1的元素,因此names [0]将是每个名称的第一个字符。

答案 2 :(得分:0)

您的列表包含不同的字符串,或者您可以说您的列表由字符数组组成(请注意,在python中没有数组的概念)。名称表示字符数组。通过写入name [0],您将告诉您获取数组的第一个字符。通过使用for循环,您基本上是一个一个地迭代字符串。0表示字符串的第一个字符。