社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在python中读取文本的输入行,用这些元素组成一个数组,并将最后一位数字赋给变量?

Eduardo Raygoza • 3 年前 • 1096 次点击  

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

我如何用前四个元素[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 ="")

谢谢大家。我只需要拆分输入并将类型从string更改为integer。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128275
 
1096 次点击  
文章 [ 4 ]  |  最新文章 3 年前
Victor Douet
Reply   •   1 楼
Victor Douet    4 年前

你可以这样做:

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

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

>>> k
5

line.split(';') 将值除以 ; 分为两个列表。
arr.split(',') 然后将所有值拆分为 , .

user15801675 user15801675
Reply   •   2 楼
user15801675 user15801675    4 年前

以下是您可以尝试的:

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]))
new_to_code
Reply   •   3 楼
new_to_code    4 年前

您好,看看您输入的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)

请告诉我它是否有效

nosuchthingasmagic
Reply   •   4 楼
nosuchthingasmagic    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]