• python 反转列表The list is a popular structure or composite data type used in Python programming language. One of the most used functions or operations with a list is reversing the list items. ...

python 反转列表

The list is a popular structure or composite data type used in Python programming language. One of the most used functions or operations with a list is reversing the list items. Reversing the list items will make the last item as the first item vice versa. In order to reverse a list in Python, there are different functions and methods like reverse() function, slicing, reversed() function with the loop.

该列表是Python编程语言中常用的结构或复合数据类型。 列表最常用的功能或操作之一是反转列表项。 反转列表项将使最后一项成为第一项，反之亦然。 为了在Python中反转列表，循环中有不同的函数和方法，例如reverse()函数，切片，reversed()函数。

# reverse()列表函数 (reverse() Function Of List)

List data type provides the reverse() function which is the most practical way to reverse items in a list. reverse() function does not need any parameter as it will use the list object items and put the reversed items in the current list too. In the following example, we will use the numbers as list items in order to depict the reversing operation. The items in the list named numbers will start from 1 to 9 .

列表数据类型提供了reverse()函数，这是反转列表中项目的最实用方法。 reverse()函数不需要任何参数，因为它将使用列表对象项并将颠倒的项也放入当前列表中。 在下面的示例中，我们将数字用作列表项，以描述反转操作。 列表中名为numbers的项目将从1到9开始。

numbers=[1,2,3,4,5,6,7,8,9]

print("Normal List",numbers)
Normal List [1, 2, 3, 4, 5, 6, 7, 8, 9]

numbers.reverse()

print("Reversed List",numbers)
Reversed List [9, 8, 7, 6, 5, 4, 3, 2, 1]

numbers.reverse()

print("Normal List Again",numbers)
Normal List Again [1, 2, 3, 4, 5, 6, 7, 8, 9]

We can see that when we call the reverse() function the reversed numbers are automatically stored to the same list named numbers.

我们可以看到，当我们调用reverse()函数时，反转的数字会自动存储到名为numbers的相同列表中。

# 使用切片运算符反向使用列表 (Reverse Using A List Using Slicing Operator)

Python list provides a lot of useful operators were one of them is a slicing operator which is used to select different list items in different ways. We can also use the slicing operator in order to reverse the given list items. The slicing operation will return a new list with reversed items and should be set as a new list which will be more clear.

Python list提供了很多有用的运算符，其中之一是切片运算符，用于以不同的方式选择不同的列表项。 我们还可以使用切片运算符来反转给定的列表项。 切片操作将返回带有反转项目的新列表，应将其设置为新列表，这样会更清晰。

numbers=[1,2,3,4,5,6,7,8,9]

print("Normal List",numbers)
#Normal List [1, 2, 3, 4, 5, 6, 7, 8, 9]

numbers_reversed = numbers[::-1]

print("Reversed Numbers",numbers_reversed)
#Reversed Numbers [9, 8, 7, 6, 5, 4, 3, 2, 1]

numbers_reversed_reversed = numbers_reversed[::-1]

print("Reversed Reversed Numbers",numbers_reversed_reversed)
#Reversed Reversed Numbers [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 具有For循环的反向功能(Reversed Function with For Loop)

Python provides the built-in function named reversed which will return an iterator which will provide a given list in reverse order. We can use this function in order to create a generator. In this example, we will create a reversed generator for numbers with the name of numbers_reversed and enumerate with a for loop.

Python提供了名为reversed的内置函数，该函数将返回一个迭代器，该迭代器将以相反的顺序提供给定的列表。 我们可以使用此功能来创建生成器。 在本示例中，我们将为名称为numbers_reversed numbers创建一个反向生成器，并使用for循环枚举。

numbers=[1,2,3,4,5,6,7,8,9]

numbers_reversed = reversed(numbers)

print("Normal Numbers",numbers)
#Normal Numbers [1, 2, 3, 4, 5, 6, 7, 8, 9]

print("Reversed Numbers",numbers_reversed)
#Reversed Numbers <list_reverseiterator object at 0x7f3fd464a2b0>

for i in numbers_reversed:
print(i)

We can see that the reversed() function returns an iterator which can be used with different iteration keywords like for. When we try to print the numbers_reversed we get a string that prints the type of the numbers_reversed variable as a list_reverseiterator object.

我们可以看到reversed()函数返回了一个迭代器，该迭代器可以与for等不同的迭代关键字一起使用。 当我们尝试打印numbers_reversed我们得到一个字符串，该字符串将numbers_reversed变量的类型打印为list_reverseiterator对象。

了解更多如何在Python中对列表进行排序？

python 反转列表

展开全文
• python实现list反转的方法，list的各种较为常见的操作技巧。python实现list反转的方法几个不同实现的函数 代码示例:import mathdef resv(li):new = []if li:cnt = len(li)for i in range(cnt):new.append(li[cnt-i-1...

python实现list反转的方法，list的各种较为常见的操作技巧。

python实现list反转的方法

几个不同实现的函数 代码示例:

import math

def resv(li):

new = []

if li:

cnt = len(li)

for i in range(cnt):

new.append(li[cnt-i-1])

return new

def resv2(li):

li.reverse()

return li

def resv3(li):

hcnt = int(math.floor(len(li)/2))

tmp = 0

for i in range(hcnt):

tmp = li[i]

li[i] = li[-(i+1)]

li[-(i+1)] = tmp

return li

li = [1, 2, 3, 4, 5]

print resv(li)

ps: resv2() 方法会改变原来list的排序，其它则不会

一些关于list基础用法

1、定义list 代码示例:

>>> li = ["a", "b", "mpilgrim", "z", "example"]

>>> li

['a', 'b', 'mpilgrim', 'z', 'example']

>>> li[0]

'a'

>>> li[4]

'example'

2、负的list 索引 代码示例:

>>> li

['a', 'b', 'mpilgrim', 'z', 'example']

>>> li[-1]

'example'

>>> li[-3]

'mpilgrim'

>>> li

['a', 'b', 'mpilgrim', 'z', 'example']

>>> li[1:3]

['b', 'mpilgrim']

>>> li[1:-1]

['b', 'mpilgrim', 'z']

>>> li[0:3]

['a', 'b', 'mpilgrim']

3、向 list 中增加元素 代码示例:

>>> li

['a', 'b', 'mpilgrim', 'z', 'example']

>>> li.append("new")

>>> li

['a', 'b', 'mpilgrim', 'z', 'example', 'new']

>>> li.insert(2, "new")

>>> li

['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new']

>>> li.extend(["two", "elements"])

>>> li

['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']

4、搜索 list 代码示例:

>>> li

['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']

>>> li.index("example")

5

>>> li.index("new")

2

>>> li.index("c")

Traceback (innermost last):

File "", line 1, in ?

ValueError: list.index(x): x not in list

>>> "c" in li

Fa

lse

5、从 list 中删除元素 代码示例:

>>> li

['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']

>>> li.remove("z")

>>> li

['a', 'b', 'new', 'mpilgrim', 'example', 'new', 'two', 'elements']

>>> li.remove("new")

>>> li

['a', 'b', 'mpilgrim', 'example', 'new', 'two', 'elements']

>>> li.remove("c")

Traceback (innermost last):

File "", line 1, in ?

ValueError: list.remove(x): x not in list

>>> li.pop()

'elements'

>>> li

['a', 'b', 'mpilgrim', 'example', 'new', 'two']

remove 从 list 中删除一个值的首次出现。

remove 仅仅 删除一个值的首次出现。 在这里, 'new' 在 list 中出现了两次, 但 li.remove("new") 只删除了 'new' 的首次出现。

如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。

pop 会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。

6、list 运算符 代码示例:

>>> li = ['a', 'b', 'mpilgrim']

>>> li = li + ['example', 'new']

>>> li

['a', 'b', 'mpilgrim', 'example', 'new']

>>> li += ['two']

>>> li

['a', 'b', 'mpilgrim', 'example', 'new', 'two']

>>> li = [1, 2] * 3

>>> li

[1, 2, 1, 2, 1, 2]

7、使用join链接list成为字符串 代码示例:

>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "

pwd":"secret"}

>>> ["%s=%s" % (k, v) for k, v in params.items()]

['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

>>> ";".join(["%s=%s" % (k, v) for k, v in params.items()])

'server=mpilgrim;uid=sa;database=master;pwd=secret'

join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。

8、分割字符串 代码示例:

>>> li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

>>> s = ";".join(li)

>>> s

'server=mpilgrim;uid=sa;database=master;pwd=secret'

>>> s.split(";")

['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

>>> s.split(";", 1)

['server=mpilgrim', 'uid=sa;database=master;pwd=secret']

split 与 join 正好相反, 它将一个字符串分割成多元素 list。

注意, 分隔符 (“;”) 被完全去掉了, 它没有在返回的 list 中的任意元素中出现。

split 接受一个可选的第二个参数, 它是要分割的次数。

9、list的映射解析 代码示例:

>>> li = [1, 9, 8, 4]

>>> [elem*2 for elem in li]

[2, 18, 16, 8]

>>> li

[1, 9, 8, 4]

>>> li = [elem*2 for elem in li]

>>> li

[2, 18, 16, 8]

10、dictionary中的解析 代码示例:

>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}

>>> params.keys()

['server', 'uid', 'database', 'pwd']

>>> params.values()

['mpilgrim', 'sa', 'master', 'secret']

>>> params.items()

[('server', 'mpilgrim'), ('uid', 'sa'), ('database', 'master'), ('pwd', 'secret')]

>>> [k for k, v in params.items()]

['server', 'uid', 'database', 'pwd']

>>> [v for k, v in params.items()]

['mpilgrim', 'sa', 'master', 'secret']

>>> ["%s=%s" % (k, v) for k, v in params.items()]

['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

11、列表过滤 代码示例:

>>> li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"]

>>> [elem for elem in li if len(elem) > 1]

['mpilgrim', 'foo']

>>> [elem for elem in li if elem != "b"]

['a', 'mpilgrim', 'foo', 'c', 'd', 'd']

>>> [elem for elem in li if li.count(elem) == 1]

['a', 'mpilgrim', 'foo', 'c']

以上就是python list列表反转的实例汇总，希望对大家有所帮助。

展开全文
• 第一种，使用reversed 函数，reversed返回的结果是一个反转的迭代器，我们需要对其进行 list 转换listNode = [1,2,3,4,5]newList = list(reversed(listNode))print(newList)#结果[5,4,3,2,1]第二种，使用sorted函数...

第一种，使用reversed 函数，reversed返回的结果是一个反转的迭代器，我们需要对其进行 list 转换

listNode = [1,2,3,4,5]

newList = list(reversed(listNode))

print(newList)

#结果

[5,4,3,2,1]

第二种，使用sorted函数，sorted是排序函数，它是对一个列表进行排序后生成一个新的list列表，而sort则是在原来的列表上直接进行排序。

listNode = [1,2,3,4,5]

newList = sorted(listNode,reverse = True)

print(newList)

#结果

[5,4,3,2,1]

其中，reverse是排序规则，True表示按降序排列，False表示按升序进行排序，False是默认值。

第三种，使用切片技术

listNode = [1,2,3,4,5]

li = listNode[::-1]

print(li)

#结果

[5,4,3,2,1]

切片的格式 [0:3:1]，其中下标0 指的是序列的第一个元素(左边界)，下标3可以指是切片的数量(右边界)，参数1表示切片的步长为1，如果是-1则表示从右边开始进行切片且步长为1。切片不包括右边界下标。

[ : ]表示获取序列所有的元素，省略步长则会默认步长为1。

第四种，使用循环，递归

listNode = [1,2,3,4,5]

new=[]

new.reverse()

print(new)

def getLists(self,listNode):

if listNode is None:

return []

l = self.getLists(listNode.next)

return l + [listNode.val]

lists = [1,2,3,4,5]

getLists(lists)

其中，+ 连接多个小的列表，最后组成一个全新的大列表，相当于使用多个值或列表新建一个列表，比如存在列表 l = [1,2]，我们运行 l = l + [3] 时l结果就是 [1,2,3]。

另外append也是将某值添加到列表中，但append相当于修改列表，比如我们执行 l.append([3]) 时，列表的结果就会是 [1,2,[3]]。

到此这篇关于Python 列表反转显示的四种方法的文章就介绍到这了,更多相关Python 列表反转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家！

展开全文
• python数组反转Tuples in Python are a collection of elements in a round bracket() or not but separated by commas. Tuples are similar to list in some operations like indexing, concatenation, etc. but ...

python数组反转

Tuples in Python are a collection of elements in a round bracket() or not but separated by commas. Tuples are similar to list in some operations like indexing, concatenation, etc. but lists are mutable whereas tuples are immutable acts like a string. Here, a list of tuples will be given by the user and we have to reverse each tuple in Python.

Python中的元组圆括号()中元素的集合，不是，而是用逗号分隔。 元组在某些操作(例如索引，连接等)中类似于列表，但是列表是可变的，而元组是不可变的行为，例如字符串。 在这里，用户将给出一个元组列表，我们必须在Python中反转每个元组

For example, list of tuple A=[(9,0), (2,5), (4,6), (7,1), (1,5)] is given by the user and we have to return it like [(0,9), (5,2), (6,4), (1,7), (5,1)] which have reverse of each tuples of list.

例如元组A = [(9,0)，(2,5)，(4,6)，(7,1)，(1,5)]的列表由用户给出，我们必须返回它像[(0,9)，(5,2)，(6,4)，(1,7)，(5,1)] ，它们具有列表中每个元组的倒序。

We are going to solve this problem with two approaches, the first one is by using the slicing property and another one is by using the predefined reversed() function of Python language. So, let's start simply writing the program.

我们将通过两种方法解决此问题，第一种方法是使用slicing属性，另一种方法是使用Python语言的预定义的reversed()函数 。 因此，让我们开始简单地编写程序。

### 1)通过使用切片属性 (1) By using the slicing property)

#suppose a list of tuples provided by the user is A.

A=[(4,5), (4,6), (6,9), (3,6),(12,0), (6,7)]
B=[k[::-1] for k in A]

print('List of reversed tuples:',B)

Output

输出量

List of reversed tuples: [(5, 4), (6, 4), (9, 6), (6, 3), (0, 12), (7, 6)]

In Python, [::-1] used to reversed list, string, etc.

在Python中， [::-1]用于反转列表，字符串等。

### 2)通过使用Python的反向功能 (2) By using the reversed function of Python)

The reversed() function used to reverse a list, string, etc. in Python. It acts like the above slicing property.

reversed()函数用于在Python中反转列表，字符串等。 它的作用类似于上述切片属性。

#suppose the same input of the above program.

A=[(4,5), (4,6), (6,9), (3,6),(12,0), (6,7)]

B=[tuple(reversed(k)) for k in A]

print('List of reversed tuples:',B)

Output

输出量

List of reversed tuples: [(5, 4), (6, 4), (9, 6), (6, 3), (0, 12), (7, 6)]

python数组反转

展开全文