首页 > 试题广场 >

编写程序,用户输入一个列表和2个整数作为下标,然后输...

[问答题]
编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标之间的元素组成的子列表。例如用户输入[1,2,3,4,5,6]和2,5,程序输出[3,4,5,6]。
# 方法1:直接输入两个数。 代价是需要添加for循环处理,以及split()使用
List = input("请输入一个列表:").split( )
num = input("请输入两个整数:").split( )
for i in range(len(num)):
    num[i] = int(num[i])
num.sort()
print(List[num[0]:num[1]+1])
# 方法2:省去for循环
List = input("请输入一个列表:").split( )
num = input("请输入两个整数:").split( )  
num.sort()
print(List[int(num[0]):int(num[1])+1])


# 方法3:一个数一个数输入。更清晰,但是操作复杂。
List = input("请输入一个列表:").split( )
num1 = int(input("第一个数:"))
num2 = int(input("第二个数:"))
if num1 > num2:
    num1,num2 = num2,num1
print(List[num1:num2+1])
引申:① split()方法用来指定分隔符,如input().split("1") ,碰到1就分割。
② 对比sort()排序方法和手动排序num1,num2 = num2,num1 。元素多了更适合用sort()


编辑于 2018-12-23 01:26:19 回复(0)
a = [1,2,3,4,5,6] b, c = 2, 5 d = a[b:c+1] print(d)
发表于 2018-11-05 11:05:58 回复(0)
lst = input("请输入:").split(" ")
a = int(input("请输入下标1"))
b = int(input("请输入下标2:"))
print(lst[a:b])

发表于 2020-05-29 17:33:12 回复(0)
input_list = input("输入一个列表").split(',')
a = int(input("输入第一个整数:"))
b = int(input("输入第二个整数:"))
print([int(i) for i in input_list[a:b+1]])
发表于 2021-06-15 16:28:07 回复(0)
x=input('请输入数组:') x=eval(x) start, end =eval(input('输入起止点下标:')) print(x[start:end])
发表于 2020-07-29 08:24:09 回复(0)
input_list = input("输入一个列表以空格为分隔符").split()
a = int(input("输入第一个整数:"))
b = int(input("输入第二个整数:"))
print([int(i) for i in input_list[a:b]])
发表于 2020-05-14 00:02:28 回复(0)
list1 = input("请输入一个列表:").split() 

num = input("请输入上下标:").split()

list2 = list1[int(num[0]): int(num[1]) + 1]  print(list2)

编辑于 2020-03-22 14:55:04 回复(0)
num=input("请输入数组:").split()
id=input("请输入下标:")
id2=input("请输入下标:")
if id>id2:
    id,id2=id2,id
num[id:id2+1]




    
发表于 2020-03-01 11:06:12 回复(0)
lista=input()
a = int(input())
b=int(input())
if a>b:
    a,b = b,a
print(lista[a:b+1])


发表于 2019-09-03 18:14:56 回复(0)
list=input("请输入一个列表:").split()
num1=input("请输入第一个整数:")
num2=input("请输入第二个整数:")
if num1>num2:
num1,num2=num2,num1
print(List[num1:num2+1])

编辑于 2019-07-05 10:32:54 回复(0)
a=input('请输入一个长度大于2的列表:').split(',')
l=len(a)
b=input('请输入0'+str(l)+'之间的两个数:').split(',')
c=[] for i in range(len(b)):
    c.append(int(b[i])) if c[0]>c[1]:
    c[0],c[1]=c[1],c[0] print(a[c[0]:c[1]+1])

发表于 2019-04-22 14:53:05 回复(0)
   list_line = input("please input list:").split(",")
   num1 = int(input("please input min index:"))
   num2 = int(input("please input max index:"))
   line = list()
   for i in range(num1, num2):
       line.append(list_line[i])
   print(line)

发表于 2019-04-19 16:02:12 回复(0)
x = input('Please input a list:') x = eval(x) start, end = eval(input('Please input the start position and the end position:')) print(x[start:end])
发表于 2018-09-26 09:59:55 回复(0)