python - 将一个列表中的两项添加到Python中的新列表

标签 python list

我有一个当前看起来像这样的列表:

new_list = ['130 kms', '46 kms', '169 kms', '179 kms', '53 kms', '128 kms', '97 kms', '152 kms', '20 kms', '94 kms', '$266.07', '$174.14', '$187.01', '$488.69', '$401.53', '$106.88', '$398.33', '$493.87', '$205.43', '$248.14']

第一个元素“130 kms”对应于第 11 个元素(“$266.07”),列表的其余部分依此类推。我正在尝试将这些关系中的每一个转换为一个列表,并将其附加到另一个列表“sort_list”,形成一个列表列表。

我正在尝试使用下面的代码来执行此操作。

**#new_list as written above**
sort_list = []

for l in range(len(new_list)):
    for item in new_list:
        sort_list.append(new_list[item]+[item+10]).split()

但是它给了我错误“列表索引必须是整数,而不是 str”。那么这是否意味着我无法将字符串附加到列表中,或者是否有某种解决方法?

这是我期望的输出:

[[130 kms, $266.07], [46 kms, $174.14], [169 kms, $187.01], [179 kms, $488.69], [53 kms, $401.53], [128 kms, $106.88], [97 kms, $398.33], [152 kms, $493.87], [20 kms, $205.43], [94 kms, $248.14]]

最佳答案

new_list = ['130 kms', '46 kms', '169 kms', '179 kms', '53 kms', '128 kms', '97 kms', '152 kms', '20 kms', '94 kms', '$266.07', '$174.14', '$187.01', '$488.69', '$401.53', '$106.88', '$398.33', '$493.87', '$205.43', '$248.14']

new_list1 = []

for x in new_list:
    try:
        new_list1.append([x,new_list[new_list.index(x)+10]])
    except:
        break
for x in new_list1:
    print (x)

输出

>>> 
['130 kms', '$266.07']
['46 kms', '$174.14']
['169 kms', '$187.01']
['179 kms', '$488.69']
['53 kms', '$401.53']
['128 kms', '$106.88']
['97 kms', '$398.33']
['152 kms', '$493.87']
['20 kms', '$205.43']
['94 kms', '$248.14']
>>> 

关于python - 将一个列表中的两项添加到Python中的新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37642579/

相关文章:

c++ - 带子类的django循环

python - 在 Python Pandas 中合并两个数据集

python - 如何解决 Django 中的这些 Python 错误?

python - 为什么 range 不返回数组,但是当我将它添加到列表时返回数组?

java - 比较作为文件名一部分的两个文件之间的时间

python beautifullsoup websocket

python - 无法连接到 FTP 服务器

r - 从 R 中的嵌套列表中提取内容

list - Prolog 评估两个列表如何相互比较

r - R 中基于元素名称的子集嵌套列表