每次从列表中获取30个字符的字符串



我有一个问题,每次运行时我只想得到最多包含30个字符的字符串。

import random
test=["test1 up to 30 characters",
"test2 passing 30 characters easy",
"test3 up to 30 characters",
"test4 passing 30 characters easy"]
random.shuffle(test)
if len(test[0])  <= 30:
print test[0]
elif len(test[0])  >= 30:
print "Shit"
print len(test[0])

编辑:********************************************************

在测试中,我会有一个变量,看起来像这样:

import random
test=["test1 up to "+variable+" characters",
"test2 passing "+variable+" characters easy",
"test3 up to "+variable+" characters",
"test4 passing "+variable+" characters easy"]
random.shuffle(test)
if len(test[0])  <= 30:
print test[0]
elif len(test[0])  >= 30:
print "Shit"
print len(test[0])

这个变量将是一个混合字符数,从5到我不知道,比方说10。

我希望程序从列表中选择最多包含30个字符的字符串。您的解决方案只需打印出包含最多30个字符的字符串的解决方案即可。我希望它返回并在列表中找到每次为每个变量总共输出30个字符串的字符串。我真的希望你能理解,我很难理解自己。

已编辑***************************************

好的,我做了这个:

import random
test=["test1 up to 30 characters",
"test2 passing 30 characters easy",
"test3 up to 30 characters",
"test4 passing 30 characters easy"]
random.shuffle(test)
print [x for x in test[0:1] if len(x) < 30]

它做了我想做的事,但仍然有空白,比如空的[]

使用列表理解:

print [x for x in test if len(x) < 30]

不能同时拥有好的<=和坏的>=,也就是说,不能同时拥有这两者的=。从本质上讲,第二个if应该只是else,因为如果它不小于或等于30,还剩下什么?

相关内容

  • 没有找到相关文章

最新更新