在python中使用带有变量字符串的条件

ily*_*les 2 python variables conditional if-statement

我对python很新,但我觉得我很快就赶上了.

无论如何,我正在制作一个程序(不是为了上课,而是为了帮助我),并且遇到了一个问题.

我正在尝试记录一系列事物,而且我的意思是接近一千个,有些重复.所以我的问题是:

我不想在列表中添加冗余名称,而是我想在之前(或之后,以较简单的方式)添加2x或3x,然后将其写入txt文档.

我对文本文档的阅读和写作很好,但我唯一的问题是条件语句,我不知道如何编写它,也不能在网上找到它.

for lines in list_of_things:
   if(lines=="XXXX x (name of object here)"):
Run Code Online (Sandbox Code Playgroud)

然后在if语句下的任何内容.我唯一的问题是"XXXX"可以替换为任何字符串编号,但我不知道如何在字符串中包含变量,如果这有意义的话.即使它变成了int,我仍然不知道如何在条件中使用变量.

我唯一能想到的就是制作多个if语句,这些语句真的很长.

有什么建议?我为文本墙道歉.

Sil*_*Ray 5

我建议循环输入文件中的行并在您找到的每个字典的字典中插入一个键,然后为您之后找到的值的每个实例将键的值递增1,然后从中生成输出文件那本字典.

catalog = {}
for line in input_file:
    if line in catalog:
        catalog[line] += 1
    else:
        catalog[line] = 1
Run Code Online (Sandbox Code Playgroud)

或者

from collections import defaultdict
catalog = defaultdict(int)
for line in input_file:
    catalog[line] += 1
Run Code Online (Sandbox Code Playgroud)

然后只需运行该dict并将其打印到文件中.

  • @ user1298844:一旦你觉得你理解字典,你应该像Nolen Royalty建议的那样查找`defaultdict`.它使这个计数器更简单,因为它总是会创建一个全新的键== 0 (2认同)