Python:使用元组获取筛选列表

时间:2018-01-17 00:19:30

标签: python tuples

输入格式:             第一行输入是一个整数,对应于记录的数量,' n'。             下一个' n' line对应于记录。             最后一行输入包括要过滤的日期。

输出格式:             输出的第一行是一组包含货物名称和日期的逗号分隔字符串。         接下来的行包括由新行分隔的另一行所印制的货物名称。         有关格式规范和更多详细信息,请参阅示例输入和输出。

示例输入1:

5
Allegan,11-12-2013
Douglas,29-12-2016
Junkers,27-03-2017
Biruinta,10-04-2014
ABC,27-03-2017
27-03-2016

预期样品输出1:

[('Allegan', '11-12-2013'), ('Douglas', '29-12-2016'), ('Junkers', '27-03-2017'), ('Biruinta', '10-04-2014'), ('ABC', '27-03-2017')]
Douglas
Junkers
ABC

编写的代码:

n=int(input())
list1=[]
i=0
for i in range(0,n):
   string1=raw_input()
   i+=1
   string1=string1.split()
for item in string1:
  list1.append(item)
dateformat=raw_input()
mutuple = tuple(list1)

我无法从列表中拆分输入,并通过按照问题进行比较来获得所需的输出。你能帮忙吗

1 个答案:

答案 0 :(得分:0)

您可以将分隔符传递给分割函数:

In [1]: "a,b,c,d,e,f".split(",")
Out[1]: ['a', 'b', 'c', 'd', 'e', 'f']

我也不会string1=string1.split(),因为split的归来是 列表和变量称为string。当然这不是不正确,但那 可能会让你比以后更加困惑。

另外

for item in string1:
    list1.append(item)
...
mutuple = tuple(list1)

是多余的,你可以做mutuple = tuple(string1)。但事实并非如此 可能是你想要的。

long_list = []
ls = tuple("a,b".split(","))
long_list.append(ls)
ls = tuple("c,d".split(","))
long_list.append(ls)
print long_list

# prints [('a', 'b'), ('c', 'd')]