相关疑难解决方法(0)

python中"lambda"函数的不安全性

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

在此输入图像描述

所以我创建了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)

python lambda list

1
推荐指数
2
解决办法
135
查看次数

为什么列出反向返回Null?

我有这样的示例列表:

l = [1,2,3]

print(l.reverse())
#give None instead [3, 2, 1]
Run Code Online (Sandbox Code Playgroud)

那个怎么样?我该如何反转清单?

python

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

颠倒列表的顺序

我需要这个来反转列表中的内容,如果它的数字或单词现在在我运行它时打印出来None.我需要它来打印反转列表.有人可以帮忙吗?

def func4(x):
    print(x.reverse())
    return;
e = ['baby','egg','chicken']
func4(e)
Run Code Online (Sandbox Code Playgroud)

python reverse list

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

.extend()方法返回“无”,而不是我想要返回的列表的所需组合

我在玩一些基本的python方法。现在,我正在尝试.extend()方法。我基本上有两个列表,并希望将它们合并为一个较大的列表以进行演示。这在Shell环境中成功运行(成功地返回扩展列表),但是在保存程序时却没有。当我要保存程序并运行它时,它将返回“无”的值。任何帮助将不胜感激。谢谢。

listOne=[1,2,3]

listTwo=[4,5,6]

listOneandlistTwo=listOne.extend(listTwo)

print(listOneandlistTwo)
Run Code Online (Sandbox Code Playgroud)

python list

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

列表理解并附加在一行中

我正在尝试对 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 list

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

按属性排序对象列表

我试图在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

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

Python列表概念

我是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 python-3.x

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

为什么[] .extend(list1)没有为list1创建一个相同的列表?

可能重复:
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

0
推荐指数
2
解决办法
126
查看次数

为什么lista.sort()+ listb.sort()在python中不起作用?

我在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)

我怎样才能解决这个问题?谢谢!

python sorting list

0
推荐指数
2
解决办法
142
查看次数

尝试在Python中扩展列表时键入错误

我需要理解为什么:

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)

不起作用?

我知道这是我收到的消息中的类型错误.但是我想对此背后有更多的解释.

python list append extend typeerror

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

标签 统计

python ×10

list ×6

append ×1

extend ×1

lambda ×1

python-3.x ×1

reverse ×1

sorting ×1

typeerror ×1