You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python的zip和*对books_borrowed排序并保持isbn对应关联的问题

问题解决方案

你现有代码的逻辑是先将书名和ISBN配对后直接拆分,再单独对书名列表排序,排序操作不会同步修改ISBN列表的顺序,因此二者的对应关系会丢失。

正确的实现逻辑是:先对配对好的(书名, ISBN)元组整体按书名排序,保证每个元组内的两个值始终绑定,排序完成后再拆分两个列表即可。

修改后的代码如下:

# 配对书名与对应ISBN
book_isbn_pairs = list(zip(books_borrowed, isbn))
# 对配对列表排序,Python默认按元组第一个元素(书名)的字母顺序排序
sorted_pairs = sorted(book_isbn_pairs)
# 拆分排序后的配对列表,得到对应顺序的书名和ISBN
book_sorted, isbn_sorted = zip(*sorted_pairs)

# 如果需要列表类型的结果可以增加如下转换
# book_sorted = list(book_sorted)
# isbn_sorted = list(isbn_sorted)

print(book_sorted)
print(isbn_sorted)

如果需要实现忽略大小写的字母排序,可以给sorted方法指定key参数:

sorted_pairs = sorted(book_isbn_pairs, key=lambda x: x[0].lower())

内容的提问来源于stack exchange,提问作者VALLAABAHH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:45:03