Python如何将元组放入单个列表中?

2024-06-25 23:41:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有元组变量:

student1 = ("Allan", "Anderson")
student2 = ("Barry", "Byars")
brendan = ("Brendan","Smith")
sandy = ("Sandy","Garner")

我想把它们列在一个列表中:

students = [("Allan", "Anderson"),("Barry", "Byars")]

你会怎么做?我有7个元组变量,有没有有效的方法

我知道students.append()可以做到,但因为我有7个变量,有没有更快的方法


Tags: 方法anderson元组smithallanbarrysandystudents
3条回答

如果变量名没有结构,这是最简单的方法

students = [student1, student2, brendan, sandy]
[('Allan', 'Anderson'), ('Barry', 'Byars'), ('Brendan', 'Smith'), ('Sandy', 'Garner')]

您可以将变量定义为字典,其中键是变量的名称

例如:

vars_dict = {
"student1": ("Allan", "Anderson"),
"student2": ("Barry", "Byars")
}

然后使用dict的values()方法获取所有值作为列表:

students = list(vars_dict.values())

您应该在此处使用更好的数据结构(如字典):

Students = {
    "student1": ("Allan", "Anderson"),
    "student2": ("Barry", "Byars"),
    "brendan": ("Brendan", "Smith"),
    "sandy": ("Sandy", "Garner")
}

StudentList = [student for student in Students.values()]
print(StudentList)

输出

[('Allan', 'Anderson'), ('Barry', 'Byars'), ('Brendan', 'Smith'), ('Sandy', 'Garner')]

这样,如果要添加另一个列表,只需在字典中添加一行,而无需更改任何逻辑:

Students["JohnDoe"] = ("John", "Doe")

输出:

[('Allan', 'Anderson'), ('Barry', 'Byars'), ('Brendan', 'Smith'), ('Sandy', 'Garner'), ('John', 'Doe')]

相关问题 更多 >