数据操作简单

Data manipulation simple

我要分开我的朋友有没有组...

# All student in class
student_in_class = ["john smith" , "rookie" , "emma" , "olivia" , "tommy"]

student_got_group = "john smith emma olivia" #By text from chatting
student_grouped_splitted = student_got_group.split()


grouped = []
ungrouped = []

for member in student_in_class:
    if member in student_grouped_splitted:
        grouped.append(member)
    else:
        ungrouped.append(member)
  1. 有错误 john smith 需要是 "john smith" 而不是 "john","smith" 。我试过了:

student_grouped_splitteds = student_got_group.split() student_grouped_splitted = student_grouped_splitteds.append("约翰·史密斯")

student_grouped_splitteds = student_got_group.split()
student_grouped_splitted = student_grouped_splitteds.append("john smith")

但它给了我 TypeError: argument of type 'NoneType' is not iterable

  1. 这是最难的……聊天会是这样:

当我复制的时候,他们会是这样的:

student_got_group = "- John Smith
- Emma
- Olivia"

我需要一个一个地删除新行,我的 class 中有 30 个学生。我应该使用 excel 还是因为我不知道 excel...

任何见解都会非常有帮助。非常感谢

for member in student_in_class:
    if member in student_got_group: # I changed this line
        grouped.append(member)
    else:
        ungrouped.append(member)

这样做您将解决问题 #1,因为它不会给您带来 john smith 的问题,因为它是 in string。

您正在尝试通过在 space 上拆分来制作新列表。 John Smith 的名字被 space 分开,因此出现了不受欢迎的行为。我建议您改用 in 运算符并使用列表理解。

student_in_class = ["john smith" , "rookie" , "emma" , "olivia" , "tommy"]

student_got_group = "john smith emma olivia" #By text from chatting
student_grouped_splitted = [i for i in student_in_class if i in student_got_group]


grouped = []
ungrouped = []

for member in student_in_class:
    if member in student_grouped_splitted:
        grouped.append(member)
    else:
        ungrouped.append(member)