猿问

在 Python 中从字符串中分离并创建迭代变量

我有这个字符串:


number = "0123456789"


我想创建具有字符串值的迭代变量。例如,


我想要一个像这样的字符串


a1 =1, 

a3=3,

... 

a8=8

请指教。谢谢


慕码人2483693
浏览 169回答 5
5回答

茅侃侃

问题有歧义。我解决了以下部分:“我想创建具有字符串值的迭代变量。”如果你解决了动态创建变量的问题,你就产生了一个新问题——如何动态访问它们。因此,最好使用一些内置的数据结构,如列表、元组或字典。记住这一点回答问题:number = '0123456789'   for num in number:                                      globals()[f'a{num}'] = int(num)此代码将创建具有相应整数值的变量 a0、a1...a9。

MM们

为了制作一个具有索引的可迭代对象,我做了类似的事情:number = "0123456789"new_number = ""for i in number:    if i != number[-1]:        new_number += i + " "    else:        new_number += iiterable = new_number.split(" ")如果您对此感兴趣,这可能会变得不那么混乱,但这可以解决问题。注意:可迭代对象中的元素将是字符串。

慕丝7291255

我认为您正在寻找的是迭代器函数 - 即iter()例如:number = '0123456789'iterator = iter(number)然后,有了next(),我们可以做这样的事情:next(iterator)'0'next(iterator)'1'即可以使用next函数获取下一个值。

森林海

您可以遍历变量编号中的每个字符,但必须将其类型转换为字符串。请注意,这number=0123456789在 Python 中会出错。您需要一个字符串值。所以将数值类型转换为字符串将解决它。例子:number = str(123456789)for i in number:    globals() ['a'+i] = int(i)然后你可以像往常一样使用创建的变量:print(a1)print(a9)这将输出:19我希望这回答了你的问题。

偶然的你

这样就可以了res = ', '.join(['a{}={}'.format(i,i) for i in number])输出'a0=0, a1=1, a2=2, a3=3, a4=4, a5=5, a6=6, a7=7, a8=8, a9=9'
随时随地看视频慕课网APP

相关分类

Python
我要回答