zyhhsmzhy 2022-10-11 22:57 采纳率: 50%
浏览 43

python中为什么用sorted函数排序不能成功

python中为什么用sorted函数排序不能成功(经过检查,其他行都可以正常运行)?

#以下是需求
#可以模糊查询股票
#可以根据关键数字进行排序
#可以根据综合查询进行打印

#以下是资源文件
股票代码,股票名称,当前价,涨跌额,涨跌幅,年初至今,成交量,成交额,换手率,市盈率(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亿
SH688268,华特气体,88.80,+11.72,+15.20%,+102.51%,622.60万,5.13亿,22.87%,150.47,-,106.56亿
SH600734,实达集团,2.60,+0.24,+10.17%,-61.71%,1340.27万,3391.14万,2.58%,亏损,0.00%,16.18亿
SH900957,凌云B股,0.36,+0.033,+10.09%,-35.25%,119.15万,42.10万,0.65%,44.65,0.00%,1.26亿
SZ000584,哈工智能,6.01,+0.55,+10.07%,-4.15%,2610.86万,1.53亿,4.36%,199.33,0.26%,36.86亿
SH600599,熊猫金控,6.78,+0.62,+10.06%,-35.55%,599.64万,3900.23万,3.61%,亏损,0.00%,11.25亿
SH600520,文一科技,8.21,+0.75,+10.05%,-24.05%,552.34万,4464.69万,3.49%,亏损,0.00%,13.01亿
SH603682,锦和商业,11.73,+1.07,+10.04%,+48.29%,2746.63万,3.15亿,29.06%,29.62,-,55.42亿
SZ300831,派瑞股份,12.27,+1.12,+10.04%,+208.29%,25.38万,311.41万,0.32%,60.59,-,39.26亿
SH900939,汇丽B,0.504,+0.046,+10.04%,-23.52%,123.86万,61.86万,1.41%,52.80,0.00%,9147.60万
SH600880,博瑞传播,4.39,+0.40,+10.03%,+10.03%,1117.75万,4816.57万,1.02%,95.87,0.50%,48.00亿
SZ000609,中迪投资,7.68,+0.70,+10.03%,+39.64%,2663.08万,2.00亿,9.12%,58.84,0.00%,22.98亿
SZ300328,宜安科技,15.80,+1.44,+10.03%,+7.19%,432.45万,6832.68万,0.95%,64.80,0.51%,72.72亿
SZ002988,豪美新材,17.33,+1.58,+10.03%,+58.41%,3.50万,60.68万,0.06%,24.42,-,40.34亿
SZ000615,京汉股份,4.61,+0.42,+10.02%,+4.06%,518.09万,2388.41万,0.69%,亏损,0.00%,36.06亿
SZ300443,金雷股份,18.33,+1.67,+10.02%,+32.74%,987.25万,1.75亿,6.19%,18.78,1.08%,43.64亿
SH600506,香梨股份,11.42,+1.04,+10.02%,+11.96%,1039.48万,1.18亿,7.04%,亏损,0.00%,16.87亿
SZ300505,川金诺,15.61,+1.42,+10.01%,-11.26%,493.54万,7555.40万,6.03%,26.70,0.85%,20.40亿
SZ300830,金现代,14.95,+1.36,+10.01%,+239.77%,63.66万,951.76万,0.74%,70.76,0.00%,64.30亿
SH603630,拉芳家化,17.26,+1.57,+10.01%,+27.85%,949.49万,1.60亿,4.19%,209.44,0.83%,39.13亿
SZ002655,共达电声,11.43,+1.04,+10.01%,-14.64%,1683.51万,1.88亿,4.68%,166.69,0.00%,41.15亿
SZ300460,惠伦晶体,16.59,+1.51,+10.01%,+0.97%,430.28万,6974.52万,2.56%,亏损,0.00%,27.92亿
SH603929,亚翔集成,20.33,+1.85,+10.01%,+33.40%,1373.66万,2.76亿,6.44%,84.29,1.25%,43.38亿
SH603392,万泰生物,35.97,+3.27,+10.00%,+311.09%,6.92万,248.91万,0.16%,65.24,-,155.97亿
SZ000788,北大医药,6.82,+0.62,+10.00%,+2.40%,832.44万,5583.87万,1.40%,89.69,0.32%,40.65亿
SH601609,金田铜业,10.89,+0.99,+10.00%,+66.26%,4027.64万,4.28亿,16.64%,32.38,0.32%,158.66亿
SZ000403,双林生物,52.48,+4.77,+10.00%,+62.48%,171.75万,9013.54万,0.63%,88.80,0.23%,143.05亿
SZ300832,新产业,72.80,+6.62,+10.00%,+131.92%,10.73万,780.85万,0.26%,40.20,0.62%,299.64亿
SZ002985,北摩高科,92.58,+8.42,+10.00%,+310.92%,2422.97万,21.55亿,64.54%,60.48,1.08%,139.02亿
SH603348,文灿股份,18.06,+1.64,+9.99%,-25.15%,357.86万,6328.87万,4.39%,89.39,0.89%,41.83亿
SH603900,莱绅通灵,8.92,+0.81,+9.99%,-5.61%,1364.10万,1.15亿,4.01%,43.78,5.06%,30.37亿
SH603042,华脉科技,17.85,+1.62,+9.98%,+17.05%,491.44万,8705.99万,4.86%,128.50,0.31%,24.28亿
SZ300260,新莱应材,19.83,+1.80,+9.98%,+68.48%,1800.45万,3.48亿,14.16%,65.15,0.73%,40.04亿
SZ000557,西部创业,3.42,+0.31,+9.97%,-0.87%,2751.17万,9408.89万,1.89%,79.39,0.00%,49.88亿
SZ300716,国立科技,9.94,+0.90,+9.96%,-4.24%,142.25万,1413.92万,1.50%,亏损,0.29%,15.91亿
SZ002449,国星光电,11.92,+1.08,+9.96%,-6.80%,5185.52万,6.03亿,8.53%,21.51,2.73%,73.72亿

#以下是正文

#将所有股票参数做成字典


#取得第一行的字符串,最后加入股票查询结果文件中


#获取第一行文字的关键字序号(成为字典)


开始搜索键单列相关数据


模糊查询关键字并输出


#建立一个没有表头的股票列表


#完成以数组为原型,去掉文字及符号后的数组


g=open("股票查询结果汇总","w+")#结果输入
accounts_new1=[]
for b in a:#a为需排序的关键字序号
b=int(b)
for line in a3:
accounts_new1=sorted(a3,key=lambda line:line[b],reverse=True)
for x in accounts_new1:
q = 0
for y in x:
q += 1
if q==2:
accounts_news[y]=x
g.write(f"依据{key_word[b]}进行排序")
g.write("\n")
g.write("\n")
g.write(line_no1)
g.write("\n")
for x,y in accounts_news.items():
line=",".join(y)+"\n"
g.write(line)
g.write("\n")

print(g.read())
g.close()

#以下是结果,我是用“当前价”进行排序的

依据当前价进行排序

股票代码,股票名称,当前价,涨跌额,涨跌幅,年初至今,成交量,成交额,换手率,市盈率(TTM),股息率,市值

SZ002985,北摩高科,92.58,+8.42,0.1,3.1092,2422.97,21.55,0.6454,60.48,0.0108,139.02

SZ300716,国立科技,9.94,+0.90,0.0996,0,142.25,1413.92,0.015,-100,0.0029,15.91

SH688268,华特气体,88.80,+11.72,0.152,1.0251,622.60,5.13,0.2287,150.47,0,106.56

SH603900,莱绅通灵,8.92,+0.81,0.0999,0,1364.10,1.15,0.0401,43.78,0.0506,30.37

SH600520,文一科技,8.21,+0.75,0.1005,0,552.34,4464.69,0.0349,-100,0.0,13.01

SZ300832,新产业,72.80,+6.62,0.1,1.3192,10.73,780.85,0.0026,40.20,0.0062,299.64

SZ000609,中迪投资,7.68,+0.70,0.1003,0.3964,2663.08,2.00,0.0912,58.84,0.0,22.98

SZ000788,北大医药,6.82,+0.62,0.1,0.024,832.44,5583.87,0.014,89.69,0.0032,40.65

SH600599,熊猫金控,6.78,+0.62,0.1006,0,599.64,3900.23,0.0361,-100,0.0,11.25

SH601778,N晶科,6.29,+1.92,0.4394,0.4394,259.66,1625.52,0.0044,22.32,0,173.95

SZ000584,哈工智能,6.01,+0.55,0.1007,0,2610.86,1.53,0.0436,199.33,0.0026,36.86

SH688566,路飞学城,52.66,+6.96,0.1523,1.2229,1626.58,8.09,0.4229,89.34,0,98.44

SZ000403,双林生物,52.48,+4.77,0.1,0.6248,171.75,9013.54,0.0063,88.80,0.0023,143.05

SZ000615,京汉股份,4.61,+0.42,0.1002,0.0406,518.09,2388.41,0.0069,-100,0.0,36.06

SH600880,博瑞传播,4.39,+0.40,0.1003,0.1003,1117.75,4816.57,0.0102,95.87,0.005,48.00

SH603392,万泰生物,35.97,+3.27,0.1,3.1109,6.92,248.91,0.0016,65.24,0,155.97

SZ000557,西部创业,3.42,+0.31,0.0997,0,2751.17,9408.89,0.0189,79.39,0.0,49.88

SH603929,亚翔集成,20.33,+1.85,0.1001,0.334,1373.66,2.76,0.0644,84.29,0.0125,43.38

SH600734,实达集团,2.60,+0.24,0.1017,0,1340.27,3391.14,0.0258,-100,0.0,16.18

SZ300260,新莱应材,19.83,+1.80,0.0998,0.6848,1800.45,3.48,0.1416,65.15,0.0073,40.04

SZ300443,金雷股份,18.33,+1.67,0.1002,0.3274,987.25,1.75,0.0619,18.78,0.0108,43.64

SH603348,文灿股份,18.06,+1.64,0.0999,0,357.86,6328.87,0.0439,89.39,0.0089,41.83

SH603042,华脉科技,17.85,+1.62,0.0998,0.1705,491.44,8705.99,0.0486,128.50,0.0031,24.28

SZ002988,豪美新材,17.33,+1.58,0.1003,0.5841,3.50,60.68,0.0006,24.42,0,40.34

SH603630,拉芳家化,17.26,+1.57,0.1001,0.2785,949.49,1.60,0.0419,209.44,0.0083,39.13

SZ300460,惠伦晶体,16.59,+1.51,0.1001,0.0097,430.28,6974.52,0.0256,-100,0.0,27.92

SZ300328,宜安科技,15.80,+1.44,0.1003,0.0719,432.45,6832.68,0.0095,64.80,0.0051,72.72

SZ300505,川金诺,15.61,+1.42,0.1001,0,493.54,7555.40,0.0603,26.70,0.0085,20.40

SZ300830,金现代,14.95,+1.36,0.1001,2.3977,63.66,951.76,0.0074,70.76,0.0,64.30

SZ300831,派瑞股份,12.27,+1.12,0.1004,2.0829,25.38,311.41,0.0032,60.59,0,39.26

SZ002449,国星光电,11.92,+1.08,0.0996,0,5185.52,6.03,0.0853,21.51,0.0273,73.72

SH603682,锦和商业,11.73,+1.07,0.1004,0.4829,2746.63,3.15,0.2906,29.62,0,55.42

SZ002655,共达电声,11.43,+1.04,0.1001,0,1683.51,1.88,0.0468,166.69,0.0,41.15

SH600506,香梨股份,11.42,+1.04,0.1002,0.1196,1039.48,1.18,0.0704,-100,0.0,16.87

SH601609,金田铜业,10.89,+0.99,0.1,0.6626,4027.64,4.28,0.1664,32.38,0.0032,158.66

SH900939,汇丽B,0.504,+0.046,0.1004,0,123.86,61.86,0.0141,52.80,0.0,9147.60

SH900957,凌云B股,0.36,+0.033,0.1009,0,119.15,42.10,0.0065,44.65,0.0,1.26

上述代码,我已试过多次,都不能达到正常排序的目的,我估计主要是(accounts_new1=sorted(a3,key=lambda line:line[b],reverse=True))这一行有问题,也许我还未查出其他行代码的问题,请各位能予以指点(代码行数较多)。

  • 写回答

2条回答 默认 最新

  • 於黾 2022-10-12 08:20
    关注

    你要对a3进行排序,那不要把它放到for line in a3:这个循环里去排呀
    此外,排序结果在accounts_new1里面,你要打印出来看排序的对还是不对,不要等又进行了100项操作之后说不对,那可能是另外99个步骤有bug

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 10月11日

悬赏问题

  • ¥100 关于python拓展屏使用pyautogui.screenshot无法截图的问题
  • ¥15 有偿求答 无导出权限怎么快速导出企业微信微文档
  • ¥15 求解答,怎么数码管中这么加入闹钟或者传感器,这应该怎么加入相应的代码
  • ¥15 scottplot5
  • ¥30 想问问这个建模怎么编程没有思路
  • ¥15 关于imageENview(ImageEN)中新建图层并根据鼠标位置添加图标
  • ¥100 用两台电脑局域联网进行MT5的EA参数优化,但是连接不上,日志提示:
  • ¥15 FastAPI报错: AsyncSession不是有效Pydantic类型
  • ¥50 这Mac系统提示虚拟内存不足,怎么解决
  • ¥15 Rs232电路无法收发数据,求帮助