所有;
def foo(i):
return 100 if i < 10 else pass
return 200 if i < 20 else pass
return 1
Run Code Online (Sandbox Code Playgroud)
为什么这在python中不起作用?我想这段代码可能与以下内容相同:
def foo(i):
if i < 10:
return 100
elif i < 20:
return 200
else:
return 1
Run Code Online (Sandbox Code Playgroud)
谢谢!
所有:
def a(p):
return p+1
def gen(func, k=100):
l= []
for x in range(k):
temp = ("%s_with_parameter_%s" %(func.__name__, x), lambda: func(x))
# maybe this will be more clear to explain my quetion:
# i want to get list/dict which can bind self-defined string and function together
l.append(temp)
return l
l = gen(a, 100)
for x in range(len(l)):
l[x][1]()
100
100
100
100
100
100
100
100
Run Code Online (Sandbox Code Playgroud)
...我想输出将是1 to 101打印输出,但它显示了一个100列表.
我可以在这里获得这个片段的帮助吗?
谢谢!
所有,
我希望将简单的元信息包含在列表对象中,请参阅下面的代码.
>>> a = []
>>> a.foo = 100
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
AttributeError: 'list' object has no attribute 'foo'
>>> setattr(a,"foo",100)
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
AttributeError: 'list' object has no attribute 'foo'
>>> dir(a)
...
'__setattr__',
'__setitem__',
...
Run Code Online (Sandbox Code Playgroud)
我的问题是
为什么我不能将setattr()用于变量"a",因为列表应该已经具有' setattr '功能?
是否有一种简单的方法将元信息附加到list/tuple变量而不是重载' setattr '或将该列表嵌入到dict中?
谢谢!
为什么,像在下面的python代码中,00100相同64?
>>> i = 00100
>>> i
64
>>> type(00100)
<type 'int'>
>>> str(00100)
'64'
>>> str("00100")
'00100'
>>> int(str("00100"))
100
>>>
Run Code Online (Sandbox Code Playgroud) 所有,
我想定义一个int(987654321)<=> [9,8,7,6,5,4,3,2,1]转换器,如果int number的长度<9,例如10,则列表将为[0 ,0,0,0,0,0,0,1,0] ,如果长度> 9,例如9987654321,则列表为[9,9,8,7,6,5,4,3, 2,1]
>>> i
987654321
>>> l
[9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> z = [0]*(len(unit) - len(str(l)))
>>> z.extend(l)
>>> l = z
>>> unit
[100000000, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1]
>>> sum([x*y for x,y in zip(l, unit)])
987654321
>>> int("".join([str(x) for x in l]))
987654321
>>> l1 = [int(x) for x in str(i)]
>>> z = [0]*(len(unit) - …Run Code Online (Sandbox Code Playgroud) 我列出了4个清单:
list1, list2, list3, list4 = range(0,4), range(4,9), range(8,15), range(2,16)
# just using range() generate sample data
Run Code Online (Sandbox Code Playgroud)
我可以list1_item, list2_item, list3_item, list4_item通过以下代码按顺序列出所有项目组合:
for item1 in list1:
for item2 in list2:
for item3 in list3:
for item4 in list4:
print [item1, item2, item3, item4]
Run Code Online (Sandbox Code Playgroud)
我可以知道我是否可以通过itertools模块完成这项工作?
谢谢
python ×6
int ×2
list ×2
combinations ×1
converter ×1
if-statement ×1
lambda ×1
meta ×1
setattr ×1
string ×1