微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法通过使用它们的后缀号作为迭代器来对不同的声明字符串变量求和?

如何解决有没有办法通过使用它们的后缀号作为迭代器来对不同的声明字符串变量求和?

我不想手动对每个声明的字符串变量求和。

word1 = "How"
word2 = "do"
word3 = "you"
word4 = "like"
word5 = "Python"
word6 = "so"
word7 = "far?"
totalword=word1+" "+word2+" "+word3+" "+word4+" "+word5+" "+word6+" "+word7
print(totalword)

解决方法

有办法但不是那么pythonic:

word1 = "How"
word2 = "do"
word3 = "you"
word4 = "like"
word5 = "Python"
word6 = "so"
word7 = "far?"

for i in range(7):
    totalword += globals().get('word' + i)
,

这并不理想,但应该可行。

word1 = "How"
word2 = "do"
word3 = "you"
word4 = "like"
word5 = "Python"
word6 = "so"
word7 = "far?"

mask = "word"

final = " ".join([eval(mask+str(x)) for x in range(1,8)])
print(final)
,

你可以使用这个:

word1 = "How"
word2 = "do"
word3 = "you"
word4 = "like"
word5 = "Python"
word6 = "so"
word7 = "far?"

res = ' '.join([globals()[x] for x in globals() if 'word' in x])
print(res)

# How do you like Python so far?

不过,这是一个不好的做法。

此外,您可以使用正则表达式来说明您感兴趣的全局变量类型,例如在 n-m 之间有一个数字等等。

,

您可以尝试使用表格中的变量进行类似的操作

word1 = "How"
word2 = "do"
word3 = "you"
word4 = "like"
word5 = "Python"
word6 = "so"
word7 = "far?"
words = [word1,word2,word3,word4,word5,word6,word7]
totalword = ""
for _ in range(len(words)):
    totalword += words[_]+" "
print(totalword)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。