我想制作一个"走路"的模型.

所以我创建了8个函数:
g0 = lambda ct: ct.append((lambda (x,y): (x-1,y))(ct[-1]))
g1 = lambda ct: ct.append((lambda (x,y): (x-1,y+1))(ct[-1]))
g2 = lambda ct: ct.append((lambda (x,y): (x,y+1))(ct[-1]))
g3 = lambda ct: ct.append((lambda (x,y): (x+1,y+1))(ct[-1]))
g4 = lambda ct: ct.append((lambda (x,y): (x+1,y))(ct[-1]))
g5 = lambda ct: ct.append((lambda (x,y): (x+1,y-1))(ct[-1]))
g6 = lambda ct: ct.append((lambda (x,y): (x,y-1))(ct[-1]))
g7 = lambda ct: ct.append((lambda (x,y): (x-1,y-1))(ct[-1]))
Run Code Online (Sandbox Code Playgroud)
但当我尝试应用任何功能时,我得到None:
print g0([(50,50)])
None
Run Code Online (Sandbox Code Playgroud)
好吧,Iet尝试更传统的方式:
def g0(ct):
ct.append((lambda (x,y): (x-1,y))(ct[-1]))
return ct
Run Code Online (Sandbox Code Playgroud)
这是按预期工作的:
[(50, 50), (49, 50)]
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试
def g0(ct): …Run Code Online (Sandbox Code Playgroud) 我有这样的示例列表:
l = [1,2,3]
print(l.reverse())
#give None instead [3, 2, 1]
Run Code Online (Sandbox Code Playgroud)
那个怎么样?我该如何反转清单?
我需要这个来反转列表中的内容,如果它的数字或单词现在在我运行它时打印出来None.我需要它来打印反转列表.有人可以帮忙吗?
def func4(x):
print(x.reverse())
return;
e = ['baby','egg','chicken']
func4(e)
Run Code Online (Sandbox Code Playgroud) 我在玩一些基本的python方法。现在,我正在尝试.extend()方法。我基本上有两个列表,并希望将它们合并为一个较大的列表以进行演示。这在Shell环境中成功运行(成功地返回扩展列表),但是在保存程序时却没有。当我要保存程序并运行它时,它将返回“无”的值。任何帮助将不胜感激。谢谢。
listOne=[1,2,3]
listTwo=[4,5,6]
listOneandlistTwo=listOne.extend(listTwo)
print(listOneandlistTwo)
Run Code Online (Sandbox Code Playgroud) 我正在尝试对 Numpy 数组使用列表理解,然后在后面附加另一个元素。然后我注意到一些奇怪的事情。
a = [i for i in machine]
a.append("All")
print(a)
Run Code Online (Sandbox Code Playgroud)
这将返回 [251, 360, 661, 662, 852, '全部']
尽管
a = [i for i in machine].append("All")
Run Code Online (Sandbox Code Playgroud)
无返回值
为什么这会返回 None 对象?有没有办法在一行中完成此操作?
我试图在python中对对象列表进行排序,但是这段代码不起作用:
import datetime
class Day:
def __init__(self, date, text):
self.date = date
self.text = text
def __cmp__(self, other):
return cmp(self.date, other.date)
mylist = [Day(datetime.date(2009, 01, 02), "Jan 2"), Day(datetime.date(2009, 01, 01), "Jan 1")]
print mylist
print mylist.sort()
Run Code Online (Sandbox Code Playgroud)
这个输出是:
[<__main__.Day instance at 0x519e0>, <__main__.Day instance at 0x51a08>]
None
Run Code Online (Sandbox Code Playgroud)
有人能告诉我解决这个问题的好方法吗?为什么sort()函数返回None?
我是python编程的新手,为什么k的赋值给出'None'值
> >>> l=[2,3,4]
> >>> k=l.append(14)
> >>> print k
None
> >>> print l
[2, 3, 4, 14]
Run Code Online (Sandbox Code Playgroud)
在上面的示例List中,我将14值附加到列表然后分配给k但是k正在打印无请告诉我它打印的原因是否而不是附加列表?
谢谢mukthyar
可能重复:
Python列表扩展和变量赋值
字符串的模拟成立:
string1 = 'abc'
''.join(string1) == string1 # True
Run Code Online (Sandbox Code Playgroud)
那为什么不成立呢:
list1 = ['a', 'b', 'c']
[].extend(list1) == list1 # AttributeError: 'NoneType' object has no attribute 'extend'
Run Code Online (Sandbox Code Playgroud)
type([])返回列表.为什么它会被视为NoneType而不是具有extend方法的列表?
这是一个学术问题.我不会这样做是常规代码,我只是想了解.
我在python中尝试了这个代码,它完美地工作:
listX.sort()
list1.sort()
result = listX + list1
Run Code Online (Sandbox Code Playgroud)
但以下代码不起作用:
result = listX.sort() + list1.sort()
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误信息:
TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?谢谢!
我需要理解为什么:
years = range(2010,2016)
years.append(0)
Run Code Online (Sandbox Code Playgroud)
是可能的,返回:
[2010,2011,2012,2013,2014,2015,0]
Run Code Online (Sandbox Code Playgroud)
和
years = range(2010,2016).append(0)
Run Code Online (Sandbox Code Playgroud)
要么
years = [0].extend(range(2010,2016))
Run Code Online (Sandbox Code Playgroud)
不起作用?
我知道这是我收到的消息中的类型错误.但是我想对此背后有更多的解释.