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 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?