按index 排序 python
时间: 2023-06-01 07:07:08 浏览: 86
好的,我可以回答这个问题。你可以使用 Python 中的内置函数 `sorted()` 对列表中的元素按照索引进行排序。例如:
```
my_list = ['a', 'c', 'b', 'd']
sorted_list = sorted(my_list, key=lambda x: my_list.index(x))
print(sorted_list)
```
输出结果为:
```
['a', 'b', 'c', 'd']
```
相关问题
python index排序乱重新排序
如果你想对一个列表进行重新排序,可以使用 `sort()` 方法或者 `sorted()` 函数对列表进行排序,例如:
```python
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort() # 直接对原列表进行排序
print(my_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
new_list = sorted(my_list) # 使用 sorted() 函数创建一个新的排序后的列表
print(new_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
如果你想要按照某个关键字进行排序,可以使用 `sort()` 方法和 `sorted()` 函数的 `key` 参数来指定排序规则,例如:
```python
my_list = ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig']
my_list.sort(key=lambda x: len(x)) # 按照字符串长度进行排序
print(my_list) # 输出 ['fig', 'date', 'apple', 'banana', 'cherry', 'elderberry']
new_list = sorted(my_list, key=str.lower) # 按照字符串小写形式进行排序
print(new_list) # 输出 ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig']
```
如果你想要对字典按照值进行排序,可以使用 `sorted()` 函数的 `key` 参数和 `items()` 方法来实现,例如:
```python
my_dict = {'apple': 5, 'banana': 3, 'cherry': 9, 'date': 2, 'elderberry': 7, 'fig': 1}
sorted_dict = sorted(my_dict.items(), key=lambda x: x[1]) # 按照字典值进行排序
print(sorted_dict) # 输出 [('fig', 1), ('date', 2), ('banana', 3), ('apple', 5), ('elderberry', 7), ('cherry', 9)]
```
注意,在以上三个例子中,`sort()` 方法会直接对原列表进行修改,而 `sorted()` 函数会返回一个新的排序后的列表或字典。
选择排序python
下面是 Python 实现选择排序的代码:
```python
def selection_sort(arr):
n = len(arr)
for i in range(n):
# 找到未排序部分中最小的元素
min_index = i
for j in range(i + 1, n):
if arr[j] < arr[min_index]:
min_index = j
# 将最小元素与未排序部分的第一个元素交换
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
```
这个算法的时间复杂度为 $O(n^2)$,不过它比冒泡排序要快一些,因为它每次只需要进行一次交换操作。
阅读全文