Python:如何输入两个元素作为输入,但在列表中将其保存为一个

Python: how to enter two elements as an input but save it as one in the list

我正在学习 Python 我正在尝试通过输入分别输入工人的姓名和姓氏,然后将其作为一个“元素”或“对象”保存在列表中(不确定怎么称呼。

所以它会是这样的:

name1 = input("Enter the name: John ")
lastname1 = input("Enter the last name: Conor ")
name2 = input("Enter the name: Michael ")
lastname2 = input("Enter the last name: Scott ")

结果:列表 = [John Conor, Michael Scott]

这就是我目前所得到的,我尽可能多地进行了谷歌搜索,但我就是找不到任何我需要的示例:

class Worker:
    def __init__(self, name, lastname):
        self.name = name
        self.lastname = lastname

    def name_lastname(self):
        print(self.name, self.name)

class Project:
    def __init__(self, name, worker):
        self.name = name
        self.worker = worker

list = []

name1 = input("Enter the name: ")
lastname1 = input("Enter the last name: ")
name2 = input("Enter the name: ")
lastname2 = input("Enter the last name: ")

请不要使用列表作为变量名。列表是 python 中的 built-in 类型。

对于你的例子,你可以试试这个:

li = []

name1 = input("Enter the name: ")
lastname1 = input("Enter the last name: ")
li.append(name1 + ' ' + lastname1)

name2 = input("Enter the name: ")
lastname2 = input("Enter the last name: ")
li.append(name2 + ' ' + lastname2)

print(li)
# [John Conor, Michael Scott]

我想你要找的是这样的:

class Worker:
    def __init__(self, name, lastname):
        self.name = name
        self.lastname = lastname

    def __repr__(self):
        return f'{self.name} {self.lastname}'



list_ = [] # note variable name

name1 = input("Enter the name: ")
lastname1 = input("Enter the last name: ")

list_.append(Worker(name1, lastname1))

name2 = input("Enter the name: ")
lastname2 = input("Enter the last name: ")

list_.append(Worker(name2, lastname2))

for worker in list_:
    print(worker)

使用 lambda 函数执行此操作的最佳方法

#Devil
name1 = input("Enter the name: John ")
lastname1 = input("Enter the last name: Conor ")
name2 = input("Enter the name: Michael ")
lastname2 = input("Enter the last name: Scott ")

list_name = []
joint_name = lambda x, y :  x + ' ' + y

list_name.append(joint_name(name1, lastname1))
list_name.append(joint_name(name2, lastname2))

#desire list
print("output :" , list_name)
#output : ['John Conor', 'Michael Scott']