首页 > 解决方案 > 如何在 python 中读取输入文本行并从这些元素中创建一个数组并将最后一位分配给变量?

问题描述

您将作为包含与变量关联的列表和整数的文件的输入行给出。线 = 1,2,3,4;5

我如何从前 4 个元素 [1,2,3,4] 中创建一个数组并将最后一个元素 5 分配给变量 K?

我想拆分它并得到这个:arr = [1,2,3,4] k = 5

text = "1,2,3,4;5"
myList = text.split(";")
k = int(myList[-1])
myList.pop()

arr = myList
n = len(arr)

i = 0
 
while(i<n):
  
    left = i
    right = min(i + k - 1, n - 1)

    while (left < right):     
        arr[left], arr[right] = arr[right], arr[left]
        left+= 1;
        right-=1
    i+= k


for i in range(0, n):
    print(arr[i], end ="")

谢谢大家。我只需要拆分输入并将类型从字符串更改为整数。

标签: python

解决方案


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]

推荐阅读