N1 = ["Ryan",
"Remariz",
"Christian" ,
"Rmefer",
"Colomn"
]
for names in N1:
if names[0] == "C":
print("* " + names)
结果将是:
* Christian
* Colomn
我之所以问是因为我是一个初学者,我想知道[0]是否代表整个列表,因为我一直在尝试[2]但它不会打印。没有错误,并且输出中没有任何内容。我花了15分钟才弄清楚。我知道这对大多数人来说都是小菜一碟,但我刚开始就这么忍受。
答案 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表示字符串的第一个字符。