Python如何正确将指定格式tuple添加到元组列表中
问题分析
- 错误使用
tuple()转换字符串:字符串属于可迭代对象,直接传入tuple()方法会将每个字符拆分为独立的元组元素,这是你得到('J', 'o', 'h', 'n')的核心原因。另外你代码中单独写的tuple(variable)行没有赋值给任何变量,属于无效代码,不会产生任何作用。 - 未构造符合要求的元组结构:你需要的是包含2个元素的元组,第一个元素为输入的姓名字符串,第二个元素为空列表,原有代码没有按这个结构构造元组。
- 不规范的变量命名:不要用
list作为自定义变量名,list是Python内置的列表类型标识符,覆盖后会影响后续内置列表相关功能的调用。
修复后的代码
# 替换list为自定义变量名,避免覆盖内置类型 user_list = [('Bill Gates', [100, 32, 44]), ('Leonardo Dicaprio', [32, 22, 10]), ('Jeff Bezos', [11, 100, 170])] variable = input('first lastname') # 输入"John"后回车 # 手动构造符合要求的二元组 new_item = (variable, []) user_list.append(new_item)
运行结果
输入John后,user_list的输出为:
[('Bill Gates', [100, 32, 44]), ('Leonardo Dicaprio', [32, 22, 10]), ('Jeff Bezos', [11, 100, 170]), ('John', [])]
完全符合预期。
内容的提问来源于stack exchange,提问作者VLSI_EE_01
相关产品推荐
相关产品推荐

