如何在Python的while循环每次迭代时创建新数组
实现每次循环创建新数组的Python程序方案
嘿,我来帮你搞定这个需求!你想要在每次while循环迭代时创建一个新数组,总共生成8个,每个数组存储用户输入的一条数据对吧?咱们一步步来实现:
核心思路
每次进入while循环时,都初始化一个全新的数组(Python里一般用列表list来实现数组功能,除非你需要特定类型的数组,那可以用array模块),然后把用户输入的值存入这个新数组,完成一次迭代后计数器自增,直到完成8次循环。
基础实现代码(用普通列表)
这是最常用的方案,适合大多数场景:
# 初始化循环计数器 i = 1 # 可选:用来保存所有生成的新数组,方便后续调用 all_created_arrays = [] while i < 9: # 每次循环创建一个全新的空数组 new_array = [] # 获取用户输入,提示当前是第几条数据 user_data = input(f"请输入第{i}条数据:") # 将输入值添加到新数组中 new_array.append(user_data) # 如果需要保留所有数组,就把它存入总列表 all_created_arrays.append(new_array) # 计数器加1,进入下一轮循环 i += 1 # 可选:验证结果,打印所有创建的数组 print("\n所有生成的数组:") for index, arr in enumerate(all_created_arrays, start=1): print(f"第{index}个数组:{arr}")
即时处理版本(无需保存所有数组)
如果你不需要保留所有数组,只是想每次创建后直接使用,那可以简化代码:
i = 1 while i < 9: new_array = [] user_data = input(f"请输入第{i}条数据:") new_array.append(user_data) # 这里可以添加对当前新数组的处理逻辑,比如打印或计算 print(f"第{i}个新数组已创建:{new_array}") i += 1
用array模块的实现(特定类型数组)
如果你说的是Python标准库的array模块(用于存储同类型数据的数组),那可以这样写(以存储字符串为例,其他类型可以修改类型码):
import array i = 1 all_arrays = [] while i < 9: # 创建一个存储Unicode字符的array,类型码'u'代表Unicode new_array = array.array('u') user_data = input(f"请输入第{i}条数据:") # 将输入转换为列表后存入array new_array.fromlist([user_data]) all_arrays.append(new_array) print(f"第{i}个array:{new_array}") i += 1
这样就能完美满足你的需求啦——每次循环都会生成一个独立的新数组,总共执行8次,刚好获取8条用户输入~
内容的提问来源于stack exchange,提问作者Mohamed Ismail
相关产品推荐
相关产品推荐

