python-将列表分成数字名称的已知数字列表

发布于 2024-12-05 06:59:56 字数 183 浏览 0 评论 0原文

我正在与Python 2.5.1合作。 我有一个具有122个值的列表(“ coll”)。我想将其分为15个列表,在该列表中,第一个列表将获得前9个值(Coll [0-8]),并称为'Coll_1',第二个列表将称为'Coll_2',并具有值9-的值。 17等...

我该怎么做?

编辑:列表中的值是字符串,而不是数字。

I'm working with python 2.5.1 .
I have a list ('coll') with 122 values. I want to split it into 15 lists, where the first list will get the first nine values (coll[0-8]), and will be called 'coll_1', the second list will be called 'coll_2' and have values 9-17 and so on...

how do I do that?

EDIT: the values in the list are STRINGS, not numbers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

得不到的就毁灭 2024-12-12 06:59:56

这只是在问麻烦。为什么不只是创建这些列表的列表?

colls = [coll[9*i:9*(i+1)] for i in range(15)]

这样,您就可以访问每个人,而无需进行动态执行,本地变量检查或类似的事情。

This is just asking for trouble. Why not just create a list of those lists?

colls = [coll[9*i:9*(i+1)] for i in range(15)]

This way you can access each of them without going through dynamic execution, local variables inspection, or things like that.

南街女流氓 2024-12-12 06:59:56

使用当地人获取当前范围的本地变量的字典,然后您可以操作。

coll = range(100,222)
for i in range(15):
    locals()['coll_' + str(i+1)] = coll[9*i:(9*i)+8]

请注意,您计算错误; coll_14不满,coll_15是空的

Use locals to get a dictionary of the local variables of the current scope, which you can then manipulate.

coll = range(100,222)
for i in range(15):
    locals()['coll_' + str(i+1)] = coll[9*i:(9*i)+8]

Note that you miscalculated; coll_14 is not full and coll_15 is empty

最笨的告白 2024-12-12 06:59:56
for i in range(len(coll)/9):
    exec 'coll_'+str(i+1)+'='+str(coll[i*9:(i+1)*9])

但是,如果coll> coll的内容来自用户输入,则使用exec会带来很大的安全风险。

for i in range(len(coll)/9):
    exec 'coll_'+str(i+1)+'='+str(coll[i*9:(i+1)*9])

but using exec poses a great security risk if the content of coll comes from a user input.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文