Ошибка: TypeError: невозможно умножить последовательность на не-int типа 'list' - PullRequest
0 голосов
/ 30 ноября 2018

Я только начинаю с python и из-за этой ошибки.Кто-нибудь знает, почему и если я сохраняю свои данные в виде целых чисел или как я могу это сделать?

Traceback (most recent call last):
  File "C:\Users\Gabriela Lammoglia\AppData\Local\Programs\Python\Python37-32\open.py", line 34, in <module>
    latt2=mult*lattice

Код:

from csv import reader
from collections import defaultdict
from ast import literal_eval
from pprint import pprint

data = defaultdict(list)
with open('crystal.csv') as f:
    csv_reader = reader(f)

    current_header = None
    for line in csv_reader:

        # We found a header
        if len(line) == 1 and all(item.isalpha() or item.isspace() for item in line[0]):
            current_header = line[0]

        # Otherwise normal line with ints and floats
        else:
            data[current_header].append(list(map(literal_eval, line)))

pprint(data)

mult=data['multiplicty']
lattice=data['lattice parameters']
occup=data['occupancy']
sites=data['atom sites']

print(mult)
print(lattice)
print(occup)
print(sites)

import numpy as np
latt2=mult*lattice

1 Ответ

0 голосов
/ 30 ноября 2018
latt2=int(mult)*lattice

Вам необходимо сделать значение Mult в виде целого числа.Теперь попробуйте несколько строк и списков, это плохая идея.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...