сохранение длины списка в другом списке в python3 - PullRequest
0 голосов
/ 27 сентября 2018

Вот список (3,3):

Names = [['ayushi','bhumi','aman'],['aakriti','ankur','saxena'],['preeti','chhavi','vicky']]

Я хочу сохранить длину каждого элемента в другом (3,3) списке.Я использовал следующий код для этого:

length=[]

for i in Names:

    for j in i:

        length.append(len(j))

, но я получаю ниже вывод:

[6, 5, 4, 7, 5, 6, 6, 6, 5]

, тогда как желаемый вывод:

654

756

665

как я могусделайте это и скажите мне, если существует встроенная функция для того же

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018
Names = [['ayushi','bhumi','aman'],['aakriti','ankur','saxena'],['preeti','chhavi','vicky']]

length=[]
for i in Names:
    str_len_list = []
    for j in i:
        str_len_list.append(str(len(j)))
    length.append(''.join(str_len_list))
0 голосов
/ 27 сентября 2018

Вы можете попробовать следующее понимание списка:

length = [''.join([str(len(i)) for i in l]) for l in Names]

Что дает вам:

>>> length
['654', '756', '665']

Вы можете преобразовать это в int после использования map, если это то, что вынужно:

>>> list(map(int, length))
[654, 756, 665]

Если я неправильно понял ваш вопрос, и вместо этого вам нужен список из 3 списков, то вы можете сделать:

length = [[len(i) for i in l] for l in Names]

>>> length
[[6, 5, 4], [7, 5, 6], [6, 6, 5]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...