搜索包含“的值”<&引用;及&燃气轮机&引用;在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] == '>')