鱼C论坛

 找回密码
 立即注册
查看: 2655|回复: 12

求助。关于列表问题。

[复制链接]
发表于 2016-10-29 00:29:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. demo = [[A,a]
  2.         [A.b]
  3.         [B]
  4.         [A,c]
  5.         [B]
  6.         [A,d]
  7.         [B]
  8.         [B]
  9.         ]
复制代码


如何将上面变成下面
  1. demo = [[A,d]
  2.         [A.c]
  3.         [B]
  4.         [A,b]
  5.         [B]
  6.         [A,a]
  7.         [B]
  8.         [B]
  9.         ]
复制代码


我只知道要写一个条件语句,但是不知道具体怎么写。求各位解答。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-10-29 09:38:20 | 显示全部楼层
各位大大请求助。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-29 09:42:10 | 显示全部楼层
  1. demo = [[A,d],
  2.         [A.c],
  3.         [B],
  4.         [A,b],
  5.         [B],
  6.         [A,a],
  7.         [B],
  8.         [B]
  9.         ]
复制代码


你起码把逗号要有吧......
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-29 09:44:02 | 显示全部楼层
最low的方法:index()取索引值,对应值互换。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-29 10:09:54 | 显示全部楼层
看不懂什么意思,如果只是1到2,可以直接通过中间变量交换元素
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-29 13:14:48 | 显示全部楼层
°﹍M、Sulayman 发表于 2016-10-29 09:44
最low的方法:index()取索引值,对应值互换。

列表中的列表如何取索引值?可以写个代码看看嘛谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-29 13:50:12 | 显示全部楼层
°﹍M、Sulayman 发表于 2016-10-29 09:42
你起码把逗号要有吧......

忘记打了。。。可是要怎么实现呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-29 15:52:57 | 显示全部楼层
先瞅瞅
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-29 15:55:33 | 显示全部楼层
你写的这个太乱,要么缺个逗号,要么列表里面还有个[A.c],中间是个点,不是逗号。。。提问都不认真。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-29 16:25:54 | 显示全部楼层
xinshouxuexi 发表于 2016-10-29 15:55
你写的这个太乱,要么缺个逗号,要么列表里面还有个[A.c],中间是个点,不是逗号。。。提问都不认真。

不好意思,写的太急了。
  1. demo = [[A,a],
  2.         [A,b],
  3.         [B],
  4.         [A,c],
  5.         [B],
  6.         [A,d],
  7.         [B],
  8.         [B]
  9.         ]
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-29 16:26:32 | 显示全部楼层
verylam 发表于 2016-10-29 16:25
不好意思,写的太急了。

就是把a,b,c,d的顺序变成d,c,b,a
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-31 18:02:08 | 显示全部楼层
verylam 发表于 2016-10-29 13:14
列表中的列表如何取索引值?可以写个代码看看嘛谢谢

例如 list_1 = [1,[2,3],4]  我们要取2,需要这样做  list[1][0]    这样取就能取到2。    嵌套三层列表同理 list[][][]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-2 09:13:36 | 显示全部楼层
想了个笨办法,把['B']挑出来,再倒排序,再把['B']放回去。
  1. demo = [['A','a'],
  2.         ['A','b'],
  3.         ['B'],
  4.         ['A','c'],
  5.         ['B'],
  6.         ['A','d'],
  7.         ['B'],
  8.         ['B']
  9.         ]
  10. demo1 = demo[:]
  11. Bindex = []
  12. for i in range(len(demo) - 1, -1, -1):
  13.     if demo1[i] == ['B']:
  14.         demo1.pop(i)
  15.         Bindex.append(i)
  16. Bindex.sort()
  17. result = sorted(demo1, key = lambda x: x[1], reverse = True)
  18. for i in Bindex:
  19.     result.insert(i,['B'])
  20. print(result)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-23 15:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表