Python 从元组中反转索引列表

Python Reverse an indexed list from a tuple

我有一个打印出来的元组:

('1234556', '2', 'G400', ['Simpson', 'Homer', 'Bartholomew'], 'Simpson, Bartholomew Homer')

我现在需要代码来打印元组(索引 3)中列表中的项目,而不是打印

['Simpson', 'Homer', 'Bartholomew']

我需要它来打印 巴塞洛缪荷马辛普森

我当前的代码是:

regNo=int(input("Enter the student registration number: "))
        regNo=str(regNo)
        for i in lst:
            if i[0] == regNo:
                print(i[3])

表示正在打印:

['Simpson', 'Homer', 'Bartholomew']

我尝试了像 print(reversed(i[3])) 这样的反向函数,但是没有用。我怎么会这样做呢?最后我需要把它从列表中取出并以相反的顺序打印

不知道我是否明白你的意思

如果要反转列表,请使用 list.reverse

要合并列表中的 str,请使用 ' '.join(<your list>)

要反转列表:试试这个:

i[3][::-1]

示例:

a= [1,2,3]
a[::-1]
Out[10]: [3, 2, 1]

要反转 python 中的列表,您可以使用 lst[::-1](其中 lst 是包含列表的变量的名称)。

在您的代码中您可以使用:

regNo=int(input("Enter the student registration number: "))
regNo=str(regNo)
for i in lst:
    if i[0] == regNo:
        print(" ".join(i[3][::-1]))

打印 reversed 的结果不起作用,因为 reversed returns 是迭代器,而不是列表。但是,join 方法接受一个迭代器,因此它可以连接列表中的元素以形成您要打印的文本。

reversed_iter = reversed(i[3])
result = ' '.join(reversed_iter)
print(result)

>> Bartholomew Homer Simpson

如果您使用 reversed,您将收到一个 list_reverseiterator 对象。所以如果你打印它你会得到 <list_reverseiterator object at 0x01321CB0>.

你必须从中列出一个列表print(list(reversed(i[3])))。我建议改用 print(i[3][::-1])