搜索包含“的值”<&引用;及&燃气轮机&引用;在Python的列表中
教育问题: 在这段代码中,它给出了像搜索包含“的值”<&引用;及&燃气轮机&引用;在Python的列表中,python,Python,教育问题: 在这段代码中,它给出了像“”这样写入的值的数量(它是关于“) tokens=[''‘你好,世界!’,''] 计数=0 对于令牌中的令牌: 如果令牌[0]='': 计数+=1 打印(计数) 有人能给我解释一下if-token[0]=''部分吗 因为我的理解是:如果列表标记中的第一个值(即“”)等于“”,则将1添加到计数 如果token='',我会像那样编写它,但这是不正确的 谢谢 token是tokens列表中的一个元素 该条件检查元素的第一个字符是否为,最后一个字符是否为code>
“
”这样写入的值的数量(它是关于“)
tokens=[''‘你好,世界!’,'']
计数=0
对于令牌中的令牌:
如果令牌[0]='':
计数+=1
打印(计数)
有人能给我解释一下if-token[0]=''部分吗
因为我的理解是:如果列表标记中的第一个值(即“
”)等于“”,则将1添加到计数
如果token='',我会像那样编写它,但这是不正确的
谢谢
token
是tokens
列表中的一个元素
该条件检查元素的第一个字符是否为
,最后一个字符是否为code>
每次找到符号时,count
变量都会递增,即在本例中为2(
和
)
对于令牌中的令牌,代码在中的列表中迭代:
因此对于第一次迭代,您在令牌变量中有'
因为它是字符串标记[0]
是“”
token[-1]
与token[len(token)-1]
相同,变量token
只包含列表中的一个字符串,token[0]
是该字符串的第一个字符
通过添加打印语句,您可以自己查看:
tokens = ['<greeting>', 'Hello World!', '</greeting>']
count = 0
for token in tokens:
print()
print('token', token)
print(token[0])
print(token[-1])
if token[0] == '<' and token[-1] == '>':
count += 1
print('count', count)
tokens=[''‘你好,世界!’,'']
计数=0
对于令牌中的令牌:
打印()
打印('令牌',令牌)
打印(令牌[0])
打印(令牌[-1])
如果令牌[0]='':
计数+=1
打印('计数',计数)
这张照片是:
token <greeting>
<
>
token Hello World!
H
!
token </greeting>
<
>
count 2
令牌
<
>
你好,世界!
H
!
代币
<
>
第二点
您基本上是在遍历令牌列表,并检查令牌的第一个字符是否以''
开头。您可以在单个语句中压缩逻辑
sum(1 for token in tokens if token[0] == '<' and token[-1] == '>')
sum(如果令牌[0]='',则令牌中的令牌为1)
在这段代码片段中,您必须了解两个Python语言特性,才能理解其中的含义:
对于令牌中的令牌
部分在令牌列表上迭代,并在每次迭代中提取下一个令牌。首先它会得到”
,然后是“你好,世界!”代码>和最后一个'
如果标记[0]=''
部分负责识别使用索引的''
格式<代码>[0]
索引是指令牌的第一个字符,[-1]
索引是指最后一个字符。这种行为是Python的一个很好的特性,它可以“以另一种方式”来“计算”iterables
令牌[0]是
”@number42不客气,如果有帮助,您可以接受答案:干杯。
sum(1 for token in tokens if token[0] == '<' and token[-1] == '>')