python - 在while循环Python中将数字添加到字符串的问题
问题描述
我需要生成带有编号的项目列表。例如:
item-1
item-2
item-3
..
item 246234
我试图用一个while循环来解决它。这是我的代码:
pages = []
page = 'item-'
nr = 1
last = 10
while nr <= last
page = page + str(nr)
pages.append(page)
nr += 1
但我得到的不是预期的结果:
item-1
item-12
item-123
item-1234
and so on
我该如何解决这个问题?
解决方案
您page
在每次迭代中累积数字。在循环中使用另一个变量名:
while nr <= last
pageX = page + str(nr)
pages.append(pageX)
nr += 1
或者直接将页面添加到列表中,没有中间变量:
while nr <= last:
pages.append(page + str(nr))
nr += 1
或者使用for
循环,这样您就不必自己检查和增加数字:
for nr in range(1, last+1):
pages.append(page + str(nr))
或列表理解以使整个代码更短并且(恕我直言)更具可读性:
pages = ["item-" + str(nr) for nr in range(1, last+1)]
推荐阅读
- node.js - Node 中的 http 和 https 模块有什么作用?
- javascript - Vue.js - 如何按对象获取 JSON 数据对象?
- json - 如何将 JSON 文件从后端传递到前端
- python - panda DatetimeIndex 返回一个浮点值而不是 Integer
- javascript - 使用 html 本机 window.open 时,window.opener 始终为 null
- azure - 网络错误导致媒体下载中途失败 azure 媒体服务
- angular - 角度、材质侧导航和粘性工具栏
- javascript - 匹配任何后跟非数字的字符
- java - MainActivity.java:使用或覆盖已弃用的 API。使用 -Xlint:deprecation 重新编译以获取详细信息
- python - 如何从字符串列表中随机选择不包括数字的标记?