小编twk*_*nab的帖子

给定Python中奇数长度的值列表,如何交换列表中最终值以外的所有值?

关于Python 2.7.12(免责声明:我理解Python2正在逐步淘汰到Python3,但是我在这里开始的课程,也许是为了理解旧的代码库):

我有一个整数列表,我想用它们的相邻值交换每个整数.到目前为止,这对于包含它们包含的整数数量的列表非常有用,但是当列表长度为奇数时,简单地交换每个值并不容易,因为整数的数量不均匀.

给出以下代码示例,如何交换列表中最终值以外的所有值?

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

def swapListPairs(arr):
    for idx, val in enumerate(arr):
        if len(arr) % 2 == 0:
            arr[idx], arr[val] =  arr[val], arr[idx]  # traditional swap using evaluation order
        else:
            arr[0], arr[1] = arr[1], arr[0]  # this line is not the solution but where I know I need some conditions to swap all list values other than len(arr)-1, but am not sure how to do this?
    return arr

print swapListPairs(arr) …
Run Code Online (Sandbox Code Playgroud)

python list

4
推荐指数
1
解决办法
264
查看次数

如何使用while循环或使用__iter__ magic方法打印单链表中节点的所有值?

如果我创建了具有属性的节点的链接列表,是否可以使用while循环value打印value链接列表中所有节点的所有属性?

[编辑]另外,我如何调用iter魔术方法,以便我可以迭代并打印链表?我如何创建一个允许在某个对象的开头,结尾或之前或之后添加的方法?

(如果有一些基本的,在概念上,我在理解中遗漏了,我道歉)

下面是我设置的节点和单链表的代码,你会看到我打印了底部每个节点的每个值.但是,我不确定是否有一种简单的方法可以轻松打印所有值,而不是列出每个值:

# node class
class Node(object):
    def __init__(self, value):
        self.value = value
        self.next = None

# singly linked list class
class SinglyLinkedList(object):
    def __init__(self):
        self.head = None
        self.tail = None

linked_list = SinglyLinkedList()
linked_list.head = Node('Alice')
linked_list.head.next = Node('Chad')
linked_list.head.next.next = Node('Debra')

print linked_list.head.value, linked_list.head.next.value, linked_list.head.next.next.value
# is there a way to print all values for `linked_list` easily?
Run Code Online (Sandbox Code Playgroud)

感谢Stack Community的帮助和阅读!

python linked-list

0
推荐指数
1
解决办法
1万
查看次数

为什么在我的“多对多”Django 模型中没有采用 Django 的“add()”方法?

问题/问题:

我正在构建一个 Django 应用程序,有 2 个模型:UserSecret. 秘密可以由用户制作,其他用户可以“喜欢”它们。我已将我的likes字段设置为 a ManyToManyField,以便喜欢 Secret 的 Users 可以存储在那里并稍后检索等。但是,当我尝试查询 User 和 Secret 并使用时my_secret.likes.add(my_User) 什么也没有发生。我没有收到错误消息,当我打印我的 Secretmany-to-many likes字段时,添加后,我看到:secrets.User.None.

为什么我的add()方法正在运行,但我没有收到任何错误,为什么我的用户没有正确添加到我的 Secret 的赞中?

注意:我在最初创建时保存了 User 和 Secret 对象。在这个应用程序之外,我已经能够add()很好地使用该方法,但在那些场景中,我正在创建对象,而不是检索已经存在的对象。

add()使用从查询中检索到的数据时是否有不同的处理方式?这是我现在唯一的其他推理方式,我完全按照此处的文档进行操作:Django Many-to-Many Docs

如果在网站的其他地方回答了这个问题,我也深表歉意。我确实在这里找到了一篇文章,但没有提供解决方案,因为他们遇到了完全相同的问题。

我的模型:

class User(models.Model):
    """
    Creates instances of a `User`.

    Parameters:
    -`models.Model` - Django's `models.Model` method allows us to create new models.
    """ …
Run Code Online (Sandbox Code Playgroud)

python django many-to-many django-orm manytomanyfield

0
推荐指数
1
解决办法
1343
查看次数