Python:如何将for循环结果以单行形式赋值给变量
解决方法
你之前的写法无效是因为print()函数本身返回的是None,每次循环var都会被赋值为None,自然得不到预期结果。下面是几种可行的实现方式:
方法1:字符串拼接(直观易懂)
初始化一个空字符串,遍历列表时将每个元素转为字符串并拼接到空字符串中:
a = [1, 2, 3, 4] var = "" for num in a: var += str(num) print(var) # 输出: 1234
方法2:使用join()方法(Python风格,更简洁)
借助字符串的join()方法,先将列表元素批量转为字符串,再直接拼接成整体:
a = [1, 2, 3, 4] # 生成器表达式版本(内存占用更低) var = ''.join(str(num) for num in a) # 或者列表推导式版本 # var = ''.join([str(num) for num in a]) print(var) # 输出: 1234
方法3:数学运算(得到整数类型结果)
如果需要的是整数而非字符串,可以通过数学累加实现:每次将当前结果乘以10,再加上下一个数字:
a = [1, 2, 3, 4] var = 0 for num in a: var = var * 10 + num print(var) # 输出: 1234(此时var为整数类型)
内容的提问来源于stack exchange,提问作者Jim Macaulay
相关产品推荐
相关产品推荐

