特可C 2022-09-28 13:26 采纳率: 100%
浏览 73
已结题

python 动态规划创建列表相关问题

最近在学python,在刷题的时候遇到一道动态规划题——背包问题,有一些代码看不懂。

dp = [[0]*(n+1) for _ in range(m+1)]
for i in range(1,m+1):
    for j in range(1,n+1):
        if j-w[i]>=0:
            dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i]]+v[i])
        else:
            dp[i][j] = dp[i-1][j]
return dp[m][n]

附完整问题截图:

img

想问问这些代码是什么意思?尤其是第一行,没见过这种写法,有两个地方看不懂——"[0]*(n+1)"和for后面的"_"。
还有,第四行为什么可以直接把w[j]写进来,前面的代码里也没定义过。
提前谢谢解答。

  • 写回答

7条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 10月8日
      • 已采纳回答 9月30日
      • 创建了问题 9月28日

      悬赏问题

      • ¥30 用Java实现网上商场购物车功能
      • ¥15 使用scrapy中间件+selenium爬取新浪新闻数据
      • ¥15 程序设计:食堂菜品管理系统
      • ¥15 1920的分辨率,但浏览器却显示1600*900像素
      • ¥15 数学模型来预测国民生产总值,matlab
      • ¥35 dvwa里sql注入无返回结果
      • ¥30 关于electron调用C库出现的问题!
      • ¥15 编译报错,程序没有语法问题
      • ¥15 (微机原理)若用1K×8位的芯片,构成一个4KB的RAM,请用全译码的方式设计最大模式下的8086电路系统。
      • ¥15 这两个题二选一,用java,最好是elipse这个软件运行的