Yooyi_xin 2021-07-20 21:24 采纳率: 33.3%
浏览 43
已采纳

python3为什么print的内容与存入的内容不同?

stock_list = [
['股票代码', '股票名称', '当前价', '涨跌额', '涨跌幅', '年初至今', '成交量', '成交额', '换手率', '市盈率(TTM)', '股息率', '市值'], 
['SH601778', 'N晶科', '6.29', '+1.92', '+43.94%', '+43.94%', '259.66万', '1625.52万', '0.44%', '22.32', '-', '173.95亿'],
['SH688566', '吉贝尔', '52.66', '+6.96', '+15.23%', '+122.29%', '1626.58万', '8.09亿', '42.29%', '89.34', '-', '98.44亿']
]

single_stock_dic = {} #单一股票信息,格式为{'股票代码':'SH603313',……}
new_stock_list = []
#   将每一条股票信息存入相应的stock_dic[股票代码]中

for i in range(1, len(stock_list)):
    for j in range(len(stock_list[0])):
        single_stock_dic[stock_list[0][j]] = stock_list[i][j]
    print(single_stock_dic)
    new_stock_list.append(single_stock_dic)
print(new_stock_list)

运行代码之后,print(single_stock_dic)print(new_stock_list)输入的内容并不一致,这是什么原因呢?我通过debug发现是两层循环的问题,但是并不清楚具体为什么会是这样

  • 写回答

2条回答 默认 最新

  • 关注

    应该把 single_stock_dic = {} 放到外循环内,让每次循环都创建一个新的字典。

    stock_list = [
    ['股票代码', '股票名称', '当前价', '涨跌额', '涨跌幅', '年初至今', '成交量', '成交额', '换手率', '市盈率(TTM)', '股息率', '市值'],
    ['SH601778', 'N晶科', '6.29', '+1.92', '+43.94%', '+43.94%', '259.66万', '1625.52万', '0.44%', '22.32', '-', '173.95亿'],
    ['SH688566', '吉贝尔', '52.66', '+6.96', '+15.23%', '+122.29%', '1626.58万', '8.09亿', '42.29%', '89.34', '-', '98.44亿']
    ]
    new_stock_list = []
    #   将每一条股票信息存入相应的stock_dic[股票代码]中
    for i in range(1, len(stock_list)):
        single_stock_dic = {} #单一股票信息,格式为{'股票代码':'SH603313',……}
        for j in range(len(stock_list[0])):
            single_stock_dic[stock_list[0][j]] = stock_list[i][j]
        print(single_stock_dic)
        new_stock_list.append(single_stock_dic)
    print(new_stock_list)
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月20日
  • 创建了问题 7月20日

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题