【Python】输入任意个数元素并保存至列表

1.导入任意个数元素到列表

1.1.编程思路

输入未知个数的元素需要用列表来存储,由于Python具有内存的动态分配能力,列表不需要手动动态分配内存,只需要两个方法——.append().extend(),前者为增加一个元素,后者为增加一个分片(也可以认为是子表)。
Python的列表相当于C语言中的共用体数组,但是为了数据的可操作性,我们往往使用的时候保持列表中元素的一致性。
Python3中的输入函数是input(),在input()中加入文字即可在录入数据之前显示出来这段提示文字。
当然,可以用split()方法对input函数操作,将input函数的字符串用空格隔开为多个对象,再借助extend()方法,一次性地全部加入空列表totallist中,即可录入所有的元素

1.2.代码片

print('输入未知个数的元素并求和')
totallist=[]
totallist.extend(input('请输入想累加的数值用空格隔开:\n').split()) #注意input()函数录入元素均为字符型
print('键入的数值分别为:')
for i in range(0,len(totallist)):
    print(str(totallist[i])+' ',end='') #打印输入元素,检验一下我们的多输入方法是否正确
print()     #打印空行
total=0
for i in range(0,len(totallist)):
    total=total+float(totallist[i])	#累加,注意要类型转换
print('输入总和为:total='+str(total))

效果如下:
在这里插入图片描述

2.查找一个重复元素在列表中的所有位置

2.1.编程思路

采用for循环遍历列表,找到列表中和指定元素element相同的元素即记录下它的索引即可。在查找之前,判断该元素是否在列表中:

2.2代码片

print('============输入未知个数的元素并查找==============')
totallist=[]
totallist.extend(input('请输入列表元素并用空格隔开:\n').split())
print('查找某个元素并返回其索引列表')
element=input('请输入所查找元素的值:')
if not (element in totallist):
    print(element,'不在列表中')
else:
    IndexList=[]
    for i in range(0,len(totallist)):
        if totallist[i]==element:
            IndexList.append(i)
    print(element,'在列表中的索引列表为',IndexList)

效果如下:

在这里插入图片描述在这里插入图片描述

  • 16
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 好的,下面是Python程序,可以实现您的要求: ``` # 从键盘输入任意个整数创建列表 nums = list(map(int, input("请输入整数列表,用空格分隔:").split())) # 从键盘输入一个数据查找其在列表的位置并输出 search_num = int(input("请输入要查找的整数:")) if search_num in nums: index = nums.index(search_num) print("要查找的整数在列表的位置为:", index + 1) else: # 如果未在列表则将其添加到列表后 nums.append(search_num) print("要查找的整数不在列表,已添加到列表。") # 按升序输出列表全部元素 nums.sort() print("升序排列后的列表为:", nums) ``` 请问还有其他问题需要我回答吗? ### 回答2: 可以使用以下Python代码实现以上功能: ```python nums = input("请输入任意个整数,以空格分隔:").split() nums = [int(num) for num in nums] data = int(input("请输入要查找的数据:")) if data in nums: index = nums.index(data) print(data, "在列表的位置是:", index) else: nums.append(data) print(data, "未在列表,已将其添加到列表。") nums.sort() print("列表的全部元素按升序输出:", nums) ``` 这段代码首先使用`input`函数从键盘输入任意个整数,然后使用`split`函数输入字符串按空格分隔为多个字符串。接着使用列表推导式和`int`函数将这些字符串转换为整数,并保存在`nums`列表。 然后使用`input`函数从键盘输入要查找的数据,并使用`int`函数输入字符串转换为整数,保存在`data`变量。 接下来使用`in`关键字判断`data`是否在`nums`列表,如果存在,则使用`index`函数获取其在列表的位置,并输出结果;如果不存在,则使用`append`函数将其添加到`nums`列表,并输出提示信息。 最后,使用`sort`函数对`nums`列表进行升序排序,并输出排序后的列表。 ### 回答3: 以下是使用Python编写的解答: ```python numbers = input("请输入任意个整数,以空格分隔:").split() numbers = [int(num) for num in numbers] target = int(input("请输入要查找的数字:")) if target in numbers: position = numbers.index(target) print("数字 {} 在列表的位置是 {}".format(target, position)) else: numbers.append(target) print("数字 {} 不在列表,已将其添加到列表".format(target)) numbers.sort() print("列表元素按升序排序为:", numbers) ``` 这段代码首先要求从键盘输入任意个整数,以空格分隔,并将输入的整数创建为一个列表。然后,从键盘输入一个要查找的数字。 接下来,如果要查找的数字存在于列表,就输出其在列表的位置;否则,将该数字添加到列表后并输出结果。 最后,对列表进行升序排序并输出列表的全部元素

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非线性光学元件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值