我有一个邮政编码列表,我只想返回它的第一部分。
postcodes = list(df['postcode'][0:10])
['EC4V 3EJ', 'SE1 9DW', 'W12 7EY', 'E14 9GA', 'E17 8ES', 'N10 3LR', 'W2 2RH', 'W3 7ST', 'W2 1PW', 'W4 5RG']
for p in postcodes:
postcodes.append(p.split()[0])
postcodes
我期待得到这样的东西:
['EC4V', 'SE1', 'W12', 'E14' ...]
但是我的内核一直在循环并且没有返回任何东西。
最佳答案
您正在遍历一个列表并在每次迭代中附加到它。你的循环将永远不会停止(你循环的每个成员,你添加另一个元素到列表中)。您应该对所需的输出使用列表理解:
In [1]: l = ['EC4V 3EJ', 'SE1 9DW', 'W12 7EY', 'E14 9GA', 'E17 8ES', 'N10 3LR', 'W2 2RH', 'W3 7ST', 'W2 1PW', 'W4 5RG
...: ']
In [2]: [p.split()[0] for p in l]
Out[2]: ['EC4V', 'SE1', 'W12', 'E14', 'E17', 'N10', 'W2', 'W3', 'W2', 'W4']
关于python - 从列表中拆分邮政编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56405256/