Ошибка, приводящая к умножению содержимого файла - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь получить данные, подобные следующим, но я получаю логическую ошибку, которая действует как умножение content * 2, однако я не могу ясно увидеть ошибку. мое содержание продиктовано в следующем формате. что я делаю не так в данный момент, чтобы получить данные?

AU dict

Melbourne
Canberra
Sydney
Hobart
Brisbane

компании

4INFO
Adbot
Adform
Adobe Systems
ADTECH
Adtile Technologies
Afilias
Alawar Entertainment
Amazon.com
AppNexus
Badgeville
BrightRoll
comScore
countries = {
      'AU': open('AU','r').read().splitlines(),
      'BE': open('BE','r').read().splitlines(),
      'CA': open('CA','r').read().splitlines(),
      'CH': open('CH','r').read().splitlines(),
      'CZ': open('CZ','r').read().splitlines(),
      'DE': open('DE','r').read().splitlines(),
      'ES': open('ES','r').read().splitlines(),
      'FR': open('FR','r').read().splitlines(),
      'GB': open('GB','r').read().splitlines(),
      'IE': open('IE','r').read().splitlines(),
      'IT': open('IT','r').read().splitlines(),
      'MX': open('MX','r').read().splitlines(),
      'NL': open('NL','r').read().splitlines(),
      'NZ': open('NZ','r').read().splitlines(),
      'PL': open('PL','r').read().splitlines(),
      'RO': open('RO','r').read().splitlines(),
      'RU': open('RU','r').read().splitlines(),
      'SE': open('SE','r').read().splitlines(),
      'SG': open('SG','r').read().splitlines(),
      'US': open('US','r').read().splitlines(),   
}

companies = open('companies.txt','r').read().splitlines()
jobs = ['business+analyst','data+scientist']

for company in companies:
      for country in countries:
            for i in countries[country]:
                  for job in jobs:
                        tail = ""
                        print("using {} {}{}".format(country, company, tail))

вывод

using AU 0
using AU 0
using AU 0
using AU 0
using AU 0
using AU 0
using AU 0
using AU 0
using AU 0
using AU 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0

Я ожидаю, что выходной ток моего выхода будет,

using AU 0
using AU 0
using AU 0
using AU 0
using AU 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0
using BE 0

1 Ответ

0 голосов
/ 10 октября 2019

В своем комментарии вы написали, что хотите напечатать company country city job.

Глядя на AU dict, кажется, есть список городов, а затем в цикле for i in countries[country]: перечислены города. Простая печать company country city job может быть достигнута, используя то, что у вас уже есть:

for company in companies:
    for country in countries:
        for city in countries[country]: # i renamed to city for better readability
            for job in jobs:
                print("{} {} {} {}".format(company, country, city, job))
...