【问题标题】:convert multiple tuple into list将多个元组转换为列表
【发布时间】:2020-06-28 05:13:46
【问题描述】:

我正在处理我读取的多个数据

for x in list_data: #i have 3 data inside
    data_file = static/upload_file/'+x

出于某种原因,我需要从每个数据中选择一个值,我使用 pandas 数据框读取数据,所以我总是将我想从每个数据中选择的值附加到 for 循环之外的列表中。我得到的结果是多个元组

result = [[1],[2],[3],[4],[5],[...]]

我已经尝试过像这样使用 itertools

result = list(chain(*result))

final_result = []
for t in result:
        for x in t:
            final_result.append(x)

输出总是这样:

[1,2,3,4,5,[1],[2],[3],[4],[5],[[1],[2],[3],[4],[5][..]]]

我想要的输出是:

[1,2,3,4,5,1,2,3,4,5,1,2,3,4,5]

完整的代码是这样的:

resul = []
final_result = []

for x in list_data: #i have 3 data inside
data_file = static/upload_file/'+x

#read_csv~
result.append((some_data))

for t in result:
    for x in t:
        final_result.append(x)

如何将多个元组转换为 1 个列表?提前致谢。

【问题讨论】:

  • 你可能想要extend而不是append的声音
  • 是的,你是对的,谢谢@alaniwi

标签: python list tuples itertools


【解决方案1】:

当您将项目添加到 final_result 列表时,请使用 extend 而不是 append。区别如下:

res = [1, 2, 3]
res.append([4, 5])
print(res)

[1, 2, 3, [4, 5]]

res = [1, 2, 3]
res.extend([2, 4])
print(res)

[1, 2, 3, 2, 4]

【讨论】:

    【解决方案2】:

    试试下面的代码:

    output_list = []
    for i in results:
        if isinstance(i, list):
            output_list.extend(i)
        else:
            output_list.append(i)
    

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 1970-01-01
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      • 2016-09-28
      相关资源
      最近更新 更多