蟒蛇长3.6功能

问题描述:

我有一个情况蟒蛇长3.6功能

if len(a) = 0 
    a = '' 
if len(b) = 0 
    b = '' 
if len(c) = 0 
    c = '' 

如果len(任何对象)为零,其声明为空。 我必须继续为所有的字母做这个。对其进行编码的最佳方式是什么?

其他信息:

import test2 
x = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] # a b c are declared in test2 file as a = set()...b = set() ... 
for y, z in enumerate(x): 
    if len(getattr(test2, x[y])) >= 5: 
      setattr(test2, x[y], '') = '' 
    else: 
     pass 

为什么我不能SETATTR那里使用?

+1

如果长度为0,这是一个字符串,你已经有了一个空字符串。 –

+0

“如果len(任何对象)为零,则将其声明为空” - 这不会声明任何内容为null。你甚至认为“将它声明为空”意味着什么? – user2357112

+4

为什么你有26个单字母变量*以*开头。改用字典或列表。 –

下面的代码举例说明了一些可怕的编程习惯,但是我试图理解你的请求(26个单字母变量,真的吗?)。

a = "fshdj" 
b = "" 
c = "fshdj" 
d = "fshdj" 
e = "" 
f = "fshdj" 
g = "fshdj" 
h = "fshdj" 
i = "dj" 
j = "fshdj" 
k = "fshdj" 
j = "fsj" 
l = "fshdj" 
m = "fshdj" 
n = "fshdj" 
o = "f" 
p = "fshdj" 
q = "fshdj" 
r = " " 
s = "fshdj" 
t = "fshdj" 
u = "" 
v = "fshdj" 
w = "fshdj" 
x = "fshdj" 
y = "" 
z = "fshdjfshdj" 

alpha = [a , b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z] 

for i in alpha: 
    if len(i) == 0: 
    i = None 
    print i 

Try it here!

+0

为什么你的test2文件定义的字母是变量,但它们在你提供的代码中被你的列表视为字符串? – Crazed

+0

a -z位于不同的文件中,我将不得不导入它们。那就是我使用getattr和setattr的原因。如果变量在其他文件中,我不确定如何使用。请咨询 –

+0

问题的背景是什么?这是一些家庭作业吗?如果是这样,请更新您的文章并提供您拥有的所有信息,无论您认为有用。现在,我们不知道你想要完成什么以及你需要做什么。 – Crazed