我需要从列表中删除单个引号

时间:2018-01-24 06:11:17

标签: python

当我打开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]

4 个答案:

答案 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]