Вы представлены как входные строки файла, содержащего список и целое число, связанное с переменной. line = 1,2,3,4; 5 Как мне сделать массив из первых 4 элементов [1,2,3,4] и ...

0
Eddy 9 Июл 2021 в 04:49

4 ответа

Лучший ответ

Вот однострочная версия с использованием модуля re:

import re
line = '1,2,3,4;5'
*arr, k = re.split('[,;]', line)

Это дает:

 print(arr, k)
    ['1', '2', '3', '4'] 5

Если вам нужно, чтобы массив (список Python) был целыми числами, а не строками, вы можете использовать:

arr = [int(s)  for s in arr]
2
nosuchthingasmagic 9 Июл 2021 в 02:31

Вы можете сделать что-то вроде этого:

>>> line = '1,2,3,4;5'
>>> arr, k = line.split(';')
>>> arr = arr.split(',')

>>> arr
['1', '2', '3', '4']

>>> k
5

line.split(';') разделит значение, разделенное знаком ;, на два списка.
arr.split(',') затем разделит все значения, разделенные ,.

1
Victor Douet 9 Июл 2021 в 02:31

Вот что можно попробовать:

x='1,2,3,4;5'.split(",")
last=int(x[-1].split(";")[1])
x[-1]=x[-1].split(';')[0]
print(x,last)

ИЛИ

x='1,2,3,4;5'.split(';')
print(list(x[0].split(',')),int(x[1]))
1
Sujay 9 Июл 2021 в 02:15

Привет, глядя на ввод, который вы дали 1,2,3,4; 5 Если это ввод, то:

(a,k) = input().split (";") #this will sperate 1,2,3,4 to arr and 5 to k
arr = a.split(",") #it sperate 1234 and makes a list
print(arr,r)

Скажите, пожалуйста, работает ли

1
new_to_code 9 Июл 2021 в 01:58