当我打开contestant file时,我的输出低于输出,下面的列表在所有索引中都有单个倒置逗号,因为我面临着问题。
输出
:
[['1951', '1874'], ['1957', '1519'], ['1962', '1985'], ['1967', '2369'], ['1971', '2784'], ['1977', '2439']]
我需要如下列表。请告诉我,我需要做什么?
year = [1951,1957,1962,1967,1971,1977]
contest = [1874,1519,1985,2369,2784,2439]
答案 0 :(得分:4)
您可以zip()
将您的列表合并为str
:
>>> l = [['1951', '1874'], ['1957', '1519'], ['1962', '1985'], ['1967', '2369'], ['1971', '2784'], ['1977', '2439']]
>>> year, contest = zip(*l)
>>> year
('1951', '1957', '1962', '1967', '1971', '1977')
>>> contest
('1874', '1519', '1985', '2369', '2784', '2439')
然后你可以map()
将他们转移到int
:
>>> list(map(int, year))
[1951, 1957, 1962, 1967, 1971, 1977]
>>> list(map(int, contest))
[1874, 1519, 1985, 2369, 2784, 2439]
注意:由于map()
返回一个生成器,您需要将list()
换行以将其转换为列表。另一种选择是使用列表理解:[int(x) for x in lst]
。
答案 1 :(得分:2)
第一个清单:
sum
第二个清单
year=[int(i[0]) for i in [['1951', '1874'], ['1957', '1519'], ['1962', '1985'], ['1967', '2369'], ['1971', '2784'], ['1977', '2439']]]
答案 2 :(得分:2)
data =[['1951', '1874'], ['1957', '1519'], ['1962', '1985'], ['1967', '2369'], ['1971', '2784'], ['1977', '2439']]
year=[int(x[0]) for x in data]#=>[1951, 1957, 1962, 1967, 1971, 1977]
contest=[int(x[1]) for x in data]#=>[1874, 1519, 1985, 2369, 2784, 2439]
答案 3 :(得分:1)
为什么有两个循环,你可以在一个循环中完成:
data=[['1951', '1874'], ['1957', '1519'], ['1962', '1985'], ['1967', '2369'], ['1971', '2784'], ['1977', '2439']]
year=[]
contenst=[]
for i in data:
year.append(int(i[0]))
contenst.append(int(i[1]))
print(year)
print(contenst)
输出:
[1951, 1957, 1962, 1967, 1971, 1977]
[1874, 1519, 1985, 2369, 2784, 2439]