【Python】Python中两个列表元素排序后保持对应关系

本文介绍了如何在Python中对两个列表进行排序,同时保持它们之间的对应关系不变。通过使用sorted()函数和列表索引,可以实现list_a排序后,list_b与其保持原有的下标对应关系。

Python中两个列表元素排序后保持对应关系

功能介绍

例如:list_a=[1,5,2,3],list_b=[2,3,1,4]保持下标对应,即 lsit_a中 1 对应 list_b中 2,以此类推,list_a升序后 list_sort=[1, 2, 3, 5],lsit_sort中 1 对应 2 这一关系仍保持不变

示例

代码

list_a=[1,5,2,3]
list_b=[2,3,1,4]
list_reflect=[]
list_sort=sorted(list_a,key=int,reverse=False)

print("list_a = ",list_a)
print("list_b = ",list_b)
print("list_sort = ",list_sort)

for x in list_sort:
    if x in list_a:
        list_reflect.append(list_b[list_a.index(x)])
print("list_reflect = ",list_reflect)

运行结果

list_a =  [1, 5, 2, 3]
list_b =  [2, 3, 1, 4]
list_sort =  [1, 2, 3, 5]
list_reflect =  [2, 1, 4, 3]

 

### Python两个列表元素方法 在 Python 中,可以通过多种方式将两个列表元素进行拼接。以下是几种常见的方法及其对应的代码示例: #### 使用加号 (`+`) 运算符 这是最简单的合两个列表的方法之一。通过 `+` 运算符可以直接将两个列表连接起来形成一个新的列表。 ```python list1 = [1, 3, 5] list2 = [2, 4, 6] merged_list = list1 + list2 print(merged_list) # 输出: [1, 3, 5, 2, 4, 6] ``` 这种方法不会修改列表,而是创建了一个新的列表[^1]。 --- #### 使用 `extend()` 方法 如果希望在一个现有列表的基础上追加另一个列表的内容,则可以使用 `extend()` 方法。此方法会地修改调用它的列表。 ```python list1 = [1, 3, 5] list2 = [2, 4, 6] list1.extend(list2) print(list1) # 输出: [1, 3, 5, 2, 4, 6] ``` 需要注意的是,`extend()` 不返回任何值(即返回 None),它只是直接改变被调用的对象本身[^2]。 --- #### 利用解包操作符 (`*`) 从 Python 3.5 开始引入了解包操作符,允许更简洁地完成相同功能。 ```python list1 = [1, 3, 5] list2 = [2, 4, 6] merged_list = [*list1, *list2] print(merged_list) # 输出: [1, 3, 5, 2, 4, 6] ``` 这种方式同样不改变来的列表,而是生成新列表[^3]。 --- #### 对于已排序列表的情况 当处理已经按顺序排列好的列表时,除了单纯拼接外还可以考虑保持其有序状态。此时可以借助内置模块 `heapq.merge()` 来高效达成目的。 ```python import heapq list1 = [1, 3, 5] list2 = [2, 4, 6] sorted_merged_list = list(heapq.merge(list1, list2)) print(sorted_merged_list) # 输出: [1, 2, 3, 4, 5, 6] ``` 上述例子展示了如何利用专门针对迭代器设计的功能来维持整体升序特性。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值