#python #python-3.x #list
#питон #python-3.x #Список
Вопрос:
Привет, я новичок в python, но у меня есть интересный вопрос
x = [5,1, 5, 2, 5, 3]
Как мне составить список, например,
newX = [51, 52, 53] and otherX = [515, 253]
Комментарии:
1. Не используйте
list
в качестве имени переменной2. это всего лишь пример, но спасибо вам!
3. Похоже, что вы ожидаете, например, чисел
5
и1
иметь какое-то отношение к числу51
. Почему? Можете ли вы выразить эту взаимосвязь в виде математической формулы?4. Простыми английскими словами, какие, по вашему мнению, шаги вам нужно было бы предпринять, чтобы перейти от ввода к выводу?
5. Я бы, вероятно, использовал цикл для и агрегировал 2s и 3s, но делать это таким образом кажется очень грязным
Ответ №1:
Технически однострочник, хотя и не самый читаемый.
newList = [int("".join([str(x) for x in oldList[i:i 2]])) for i in range(0, len(oldList), 2)]
Мы берем старый список в виде фрагментов из 2 элементов, превращаем их в строки, объединяем их и анализируем результат как int .
Более читаемая версия:
newList = [
int("".join([str(x) for x in oldList[i:i 2]]))
for i in range(0, len(oldList), 2)
]
Для другой версии с тремя вы можете заменить 2 на 3, и это работает так же.