У меня есть список:
ueid_list = [['0'],['0','1'],['0','1','2']...]
corefiles(str type): {"core0.log", "core4.log","core3.log","core7.log"}
RNTI(str type):{"0x0000","0x003f",...}
В приведенном ниже коде есть цикл, который повторяется по вышеуказанные три, взяв значения одно после другое в функции и распечатывает детали соответственно ...
Мой код:
for a in (ueid_list):
for b in (corefiles):
for c in (rnti):
getUeLinesFromcorefiles(b,a,c)
Вышеупомянутая функция Getueid определяется как:
def getUeLinesFromcorefiles(filenames, ueid, rnti)
.
.
.
.
.
Это показывает ошибку:
as attributeerror: 'list' object has no attribute 'join'
Как мне справиться с этой ошибкой?
Порядок параметров функции getUeLinesFromcorefiles
кажется неправильным, если это getUeLinesFromcorefiles(b,a,c)
(или, возможно, ваши циклы for находятся в неправильном порядке)
Если бы вы выбрали имена лучше, чем a, b, c, ваши звонки были бы getUeLinesFromcorefiles(ueid, corefile, rnti)
. Первая ошибка заключается в том, что ueid и corefile неверны относительно определения функции. Во-вторых, определение функции принимает filenameS - вы уверены, что не должны передавать ему весь corefiles
?
Когда я упомянул порядок как getUeLinesFromcorefiles (corefiles, ueid_list, rnti), он показывает ошибку, поскольку int () не может преобразовать не строку с явной базой в условии в функции getUeLinesFromcorefiles (), где RNTi = int (rnti, 16).
.join следует применять к строкам. Вы пробуете это в списке. По сути, a
в цикле за представляет собой список.
Главный вопрос не актуален, но заголовок - это ошибка, которую я получил.
Я перепутал синтаксис, пытаясь присоединить список строк. Я делал это:
list_of_str.join(' ')
когда я должен это сделать:
' '.join(list_of_str)
Куда вы звоните
join
? Опубликовать минимальный воспроизводимый пример