鱼C论坛

 找回密码
 立即注册
查看: 3540|回复: 6

[已解决]列表元素abc加入元组后变a,b,c

[复制链接]
发表于 2022-10-5 07:59:35 | 显示全部楼层    本楼为最佳答案   


因为你输入的字符串为  abc,通过 split 函数切割后,返回的结果为 ["abc"]

但,你对一个字符串调用 tuple 转换为元组,返回的结果是将每个元素都作为元组的一单独的元素

即 tuple(name[ i ]) = tuple("abc") = ("a", "b", "c"),所以当 newname + ("a", "b", "c") 时, newname 初始化为 () 空元组,返回的结果自然也是("a", "b", "c")

而且对元组使用 + 号,是两个元组连接,即 (xxx, yyy) + (zzz, www) 结果为 (xxx, yyy, zzz, www)

所以就算你你这里循环是 ("a",) 、("b",)、("c",) 这样单个元素,也依旧是将每个字符串中的字符,进行元组的 + 连接操作,最终结果依然为 ("a", "b", "c")

所有如果你想实现你预计的结果,那么可以将列表直接转换为元组就没问题,即 tuple(name[ i ]) 改成 tuple(name)

参考代码:

  1. name = input().split()
  2. newname = ()
  3. i = 0
  4. while i < 1:
  5.     try:
  6.         newname += tuple(name)
  7.         i += 1
  8.     except:
  9.         break
  10. print(newname)
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-11 03:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表