python的新手 我对列表主题有疑问
我有一个清单
[b'Manchester',b'Liverpool',b'Cardiff']
[b'Brighton',b'Leeds',b'Sheffield']
[b'London',b'Westham',b'Lisbon']
我的输出应该是
[Manchester,Liverpool,Cardiff] and [Brighton,Leeds,Sheffield] and [London,Westham,Lisbon]
试图选择第一个索引[0]但显示它
Manchester
Brighton
London
代替上面指定的输出。
答案 0 :(得分:0)
您可以使用repr
将任何数据类型转换为字符串格式并输出显示。
答案 1 :(得分:0)
如果您定义的列表如下:
mylist = [b'Manchester', b'Liverpool', b'Cardiff']
然后您要求Python打印它,您将得到以下信息:
>>> print(mylist)
[b'Manchester', b'Liverpool', b'Cardiff']
您看到b'..'
是因为您的数据是字节串,并且当您print
一个数据结构时,Python将使用其默认格式。这包括显示足够的信息,您可以重建原始数据。
如果您想要另一个表示,那么您必须自己做。例如,
>>> print (','.join(city.decode() for city in mylist))
Manchester,Liverpool,Cardiff
如果您真的想要前后方括号,可以将其添加到print
语句中。
答案 2 :(得分:0)
以下是两种解决方案,不确定要寻找的是哪种解决方案:
lst = [b'Manchester', b'Liverpool', b'Cardiff']
print([s.decode() for s in lst])
print()
print(f"[{','.join(s.decode() for s in lst)}]")
输出:
['Manchester', 'Liverpool', 'Cardiff']
[Manchester,Liverpool,Cardiff]
或:
lst = [[b'Manchester',b'Liverpool',b'Cardiff'],
[b'Brighton',b'Leeds',b'Sheffield'],
[b'London',b'Westham',b'Lisbon']]
print([[s.decode() for s in ls] for ls in lst])
print()
print('\n'.join([f"[{','.join(s.decode() for s in ls)}]" for ls in lst]))
输出:
[['Manchester', 'Liverpool', 'Cardiff'],
['Brighton', 'Leeds', 'Sheffield'],
['London', 'Westham', 'Lisbon']]
[Manchester,Liverpool,Cardiff]
[Brighton,Leeds,Sheffield]
[London,Westham,Lisbon]