stream是一个列表。列表中的每个项目都是:
10,123400FFFE001DB9AA
我试图在逗号后面的每个项目的第二部分,所以我通过列表分割每个项目并将其存储在临时文件中。我将temp [1]附加到另一个名为incoming_data的列表中。
我想将拆分并保存到temp的行组合并将incoming_data列表追加到一行,如:
incoming_data.append(item.split( ''))
我知道上面的语法完全不正确,但我希望它能解决问题。这是我目前的代码。
其他批评一如既往地欢迎。谢谢!
#init the final list
incoming_data = list()
#iterate over each item in the list
for item in stream:
#clear the temp variable for next time
temp = ''
#we sometimes get blank items in the stream list so check first
if item <> '':
#split each item in the stream list using the comma as delimiter
temp = item.split(',')
#append to the final data lis
incoming_data.append(temp[1])
答案 0 :(得分:6)
incoming_data = [item.split(",")[1] for item in stream if item]
if item
会丢弃stream
中的空白行。
答案 1 :(得分:1)
您可以使用Python的方便花花公子list comprehensions在一行中执行此操作:
incoming_data = [ item.split(',')[1] for item in stream ]
答案 2 :(得分:1)
实际上,你可以做incoming_data.append(item.split(',')[1])
。如果你真的想要你可以使用列表理解将整个shebang组合成一个衬里(由于理查德,我现在已经纠正了空白行):
incoming_data = [item.split(',')[0] for item in stream if item]
虽然如果你实际上是在播放某些东西,你应该看看generators(PDF) - 它们绝对令人惊叹。