Tag: python

如何创build可变数量的variables?

我如何在Python中完成variablesvariables? 这里是一个详细的手册条目,例如: variablesvariables 一般来说,我听说这是一个糟糕的主意,这是Python中的一个安全漏洞。 真的吗?

如何通过引用传递variables?

Python文档似乎不清楚参数是通过引用还是值传递的,并且以下代码会生成未更改的值“原始” class PassByReference: def __init__(self): self.variable = 'Original' self.change(self.variable) print(self.variable) def change(self, var): var = 'Changed' 有什么我可以做的,通过实际参考传递variables?

你如何将一个列表分成均匀大小的块?

我有一个任意长度的列表,我需要将它分成相等大小的块并对其进行操作。 有一些明显的方法可以做到这一点,比如保留一个计数器和两个列表,当第二个列表填满时,将它添加到第一个列表中,并清空下一轮数据的第二个列表,但这可能是非常昂贵的。 我想知道是否有人有一个很好的解决这个任何长度的名单,例如使用发电机。 我正在寻找itertools有用的东西,但我找不到任何明显有用的东西。 虽然可能错过了。 相关的问题: 什么是最“pythonic”的方式来遍历一个列表块?

列表名单意外地反映在子列表上

我需要在Python中创build一个列表,所以我input以下内容: myList = [[1] * 4] * 3 清单看起来像这样: [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] 然后我改变了最内在的一个值: myList[0][0] = 5 现在我的列表如下所示: [[5, 1, 1, 1], [5, 1, 1, 1], [5, 1, 1, 1]] 这不是我想要或预期的。 有人可以解释一下怎么回事,以及如何解决这个问题?

如何克隆或复制列表?

有哪些选项可以在Python中复制或复制列表? 使用new_list = my_list然后new_list每次my_list改变时修改new_list 。 为什么是这样?

要求用户input,直到他们提供有效的答复

我正在编写一个程序,必须接受来自用户的input。 #note: Python 2.7 users should use `raw_input`, the equivalent of 3.X's `input` age = int(input("Please enter your age: ")) if age >= 18: print("You are able to vote in the United States!") else: print("You are not able to vote in the United States.") 如果用户input合理的数据,这将按预期工作。 C:\Python\Projects> canyouvote.py Please enter your age: 23 You are able […]

了解Python的切片符号

我需要一个很好的解释(引用是加号)Python的切片符号。 对我来说,这个符号需要一点点的提高。 它看起来非常强大,但我还没有把我的脑袋。

如何根据值testing多个variables?

我试图做一个函数,将多个variables比较为一个整数,并输出一个三个字母的string。 我想知道是否有办法将其转换为Python。 所以说: x = 0 y = 1 z = 3 mylist = [] if x or y or z == 0 : mylist.append("c") if x or y or z == 1 : mylist.append("d") if x or y or z == 2 : mylist.append("e") if x or y or z == 3 : mylist.append("f") […]

“最小的惊讶”和可变的默认论据

任何人用Python修补足够长的时间都被以下问题困扰(或被撕碎): def foo(a=[]): a.append(5) return a Python新手会期望这个函数总是返回一个只有一个元素的列表: [5] 。 结果是非常不同的,而且非常惊人(对于新手来说): >>> foo() [5] >>> foo() [5, 5] >>> foo() [5, 5, 5] >>> foo() [5, 5, 5, 5] >>> foo() 我的一位经理曾经第一次遇到这个function,并称这是一个“戏剧性的devise缺陷”。 我回答说,这个行为有一个基本的解释,如果你不了解内部,那确实是非常令人费解和意外的。 然而,我无法回答(对我自己)以下问题:在函数定义处绑定默认参数的原因是什么,而不是在函数执行处? 我怀疑经验丰富的行为是否有实际用途(谁真的在C中使用静态variables,而没有繁殖错误?) 编辑 : Baczek做了一个有趣的例子。 再加上你的大部分意见,尤其是Utaal的意见,我进一步阐述了: >>> def a(): … print("a executed") … return [] … >>> >>> def b(x=a()): … x.append(5) … […]

如何使用print()打印类或类的对象?

我正在学Python的绳索。 当我尝试使用print()函数print() Foobar类的对象时,我得到如下输出: <__main__.Foobar instance at 0x7ff2a18c> 有没有办法可以设置类和它的对象的打印行为 (或string表示 )? 例如,当我在类对象上调用print()时,我想以某种格式打印它的数据成员。 如何在Python中实现这一点? 如果您熟悉C ++类,可以通过为类添加friend ostream& operator << (ostream&, const Foobar&)方法来实现标准ostream 。