关于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) 如果我创建了具有属性的节点的链接列表,是否可以使用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的帮助和阅读!
我正在构建一个 Django 应用程序,有 2 个模型:User和Secret. 秘密可以由用户制作,其他用户可以“喜欢”它们。我已将我的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)