字典中的Python打印项仅返回换行符

时间:2016-12-21 17:05:11

标签: python list dictionary

项目:'1;Paul;Crowe;28;male;2\n'

代码:

f = open('data.txt', 'r+').readlines()

l = len(f)

data = {}
friends = {}

for i in range(0,l):
    person = f[i].split(';')
    friend = f[i][-1]
    data.update({person[0]:person[1:]})
    friends.update({osoba[0]:friend})

print friends

打印输出:

{'11': '\n', '10': '\n', '13': '\n', '12': '\n', '15': '\n', '14': '\n', '17': '\n', '16': '\n', '19': '\n', '18': '\n', '20': '\n', '1': '\n', '3': '\n', '2': '\n', '5': '\n', '4': '\n', '7': '\n', '6': '\n', '9': '\n', '8': '\n'}

我不明白为什么它不会返回' 2 \ n&n;而是字符串。 什么似乎是问题?

1 个答案:

答案 0 :(得分:2)

它返回'\n',因为在行friend = f[i][-1]中,您正在检索文件中第i行的最后一个字符。最后一个字符是'\n'。我想你想做的是:

friend = f[i].split(';')[-1] # This will return 2\n