根据字符串在列表中的位置,将不同的字符串附加到字符串列表中 [英] Append different strings to a list of strings depending on its position in the list

查看:33
本文介绍了根据字符串在列表中的位置,将不同的字符串附加到字符串列表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给定以下配置列表

['configuration1A', 'configuration1B', 'configuration1C', 'configuration2A', 'configuration2B', 'configuration2C', 'configuration3A', 'configuration3B', 'configuration3C', 'configuration4A', 'configuration4B', 'configuration4C', 'configuration5A', 'configuration5B', 'configuration5C', 'configuration6A', 'configuration6B', 'configuration6C', 'configuration7A', 'configuration7B', 'configuration7C', 'configuration8A', 'configuration8B', 'configuration8C', 'configuration9A', 'configuration9B', 'configuration9C', 'configuration10A', 'configuration10B', 'configuration10C', 'configuration11A', 'configuration11B', 'configuration11C', 'configuration12A', 'configuration12B', 'configuration12C', 'configuration13A', 'configuration13B', 'configuration13C', 'configuration14A', 'configuration14B', 'configuration14C', 'configuration15A', 'configuration15B', 'configuration15C', 'configuration16A', 'configuration16B', 'configuration16C', 'configuration17A', 'configuration17B', 'configuration17C', 'configuration18A', 'configuration18B', 'configuration18C', 'configuration19A', 'configuration19B', 'configuration19C', 'configuration20A', 'configuration20B', 'configuration20C', 'configuration21A', 'configuration21B', 'configuration21C', 'configuration22A', 'configuration22B', 'configuration22C', 'configuration23A', 'configuration23B', 'configuration23C', 'configuration24A', 'configuration24B', 'configuration24C', 'configuration25A', 'configuration25B', 'configuration25C', 'configuration1A', 'configuration1B', 'configuration1C', 'configuration2A', 'configuration2B', 'configuration2C', 'configuration3A', 'configuration3B', 'configuration3C', 'configuration4A', 'configuration4B', 'configuration4C', 'configuration5A', 'configuration5B', 'configuration5C', 'configuration6A', 'configuration6B', 'configuration6C', 'configuration7A', 'configuration7B', 'configuration7C', 'configuration8A', 'configuration8B', 'configuration8C', 'configuration9A', 'configuration9B', 'configuration9C', 'configuration10A', 'configuration10B', 'configuration10C', 'configuration11A', 'configuration11B', 'configuration11C', 'configuration12A', 'configuration12B', 'configuration12C', 'configuration13A', 'configuration13B', 'configuration13C', 'configuration14A', 'configuration14B', 'configuration14C', 'configuration15A', 'configuration15B', 'configuration15C', 'configuration16A', 'configuration16B', 'configuration16C', 'configuration17A', 'configuration17B', 'configuration17C', 'configuration18A', 'configuration18B', 'configuration18C', 'configuration19A', 'configuration19B', 'configuration19C', 'configuration20A', 'configuration20B', 'configuration20C', 'configuration21A', 'configuration21B', 'configuration21C', 'configuration22A', 'configuration22B', 'configuration22C', 'configuration23A', 'configuration23B', 'configuration23C', 'configuration24A', 'configuration24B', 'configuration24C', 'configuration25A', 'configuration25B', 'configuration25C', 'configuration1A', 'configuration1B', 'configuration1C', 'configuration2A', 'configuration2B', 'configuration2C', 'configuration3A', 'configuration3B', 'configuration3C', 'configuration4A', 'configuration4B', 'configuration4C', 'configuration5A', 'configuration5B', 'configuration5C', 'configuration6A', 'configuration6B', 'configuration6C', 'configuration7A', 'configuration7B', 'configuration7C', 'configuration8A', 'configuration8B', 'configuration8C', 'configuration9A', 'configuration9B', 'configuration9C', 'configuration10A', 'configuration10B', 'configuration10C', 'configuration11A', 'configuration11B', 'configuration11C', 'configuration12A', 'configuration12B', 'configuration12C', 'configuration13A', 'configuration13B', 'configuration13C', 'configuration14A', 'configuration14B', 'configuration14C', 'configuration15A', 'configuration15B', 'configuration15C', 'configuration16A', 'configuration16B', 'configuration16C', 'configuration17A', 'configuration17B', 'configuration17C', 'configuration18A', 'configuration18B', 'configuration18C', 'configuration19A', 'configuration19B', 'configuration19C', 'configuration20A', 'configuration20B', 'configuration20C', 'configuration21A', 'configuration21B', 'configuration21C', 'configuration22A', 'configuration22B', 'configuration22C', 'configuration23A', 'configuration23B', 'configuration23C', 'configuration24A', 'configuration24B', 'configuration24C', 'configuration25A', 'configuration25B', 'configuration25C']

如何在具有特定约束的每个元素(字符串)的末尾附加一个字符串:

How does one append a string at the end of each element (string) with specific constraints:

• 添加字符串=1";到前 75 个元素(configuration1A1,依此类推)

• Add string="1" to the first 75 elements (configuration1A1, and so on)

• 添加字符串=2";到接下来的 75 个元素(configuration1A2,依此类推)

• Add string="2" to the next 75 elements (configuration1A2, and so on)

• 添加字符串=3";到最后 75 个元素(configuration1A3,依此类推)

• Add string="3" to the last 75 elements (configuration1A3, and so on)

要在字符串末尾添加字符串,可以执行以下操作

In order to add the string at the end of a string, one can do the following

config_numb="1"
configurations_new = [x + config_numb for i in configurations_v1]

到目前为止,我有以下内容

So far, I have the following

count = 0

for x in configurations_v1:
    
    if count < 75:
        #print(x)
        config_numb="1"
        configurations_new = [x + config_numb for i in configurations_v1]
        
        pass
    elif count >= 75 and count < 150:
        #print(x)
        config_numb="2"
        configurations_new = [x + config_numb for i in configurations_v1]
        pass
    
    elif count >= 150:
        #print(x)
        config_numb="3"
        configurations_new = [x + config_numb for i in configurations_v1]
        pass
    
    count += 1

但这是创建一个需要 len() 的列表,然而,不是在配置列表中的所有元素都带有各自的 config_numb 末尾,每个元素都是 configuration25C3.

But this is creating a list with the len() required, however, instead of having all the elements in the configuration list with their respective config_numb at the end, every element is configuration25C3.

['configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3', 'configuration25C3']

我知道这个问题,但是那个只考虑附加相同的字符串,这不是问题在这里.

I am aware of this question, but that one only considers the appending of the same string, which is not the problem here.

推荐答案

这里的问题是列表推导式迭代整个迭代并创建一个新列表,您可以向值添加条件但实际上迭代可能更容易对于人们来说,还有一件事要注意的是字符串是不可变的,即当您说修改时,您实际上是在创建一个新字符串.试试这个:

The problem here is list comprehension iterates over an entire iterable and creates a new list, you can add conditions to the value but just iterating might in fact be easier to understand for people, also one more thing to note is strings are immutable i.e. when you are saying modify you are in fact creating a new string. Try this:

configurations_new = configurations_v1.copy()
for index, value in enumerate(configurations_v1):
    if index < 75:
        configurations_new[index] = configurations_new[index] + '1'
    elif index < 150:
        configurations_new[index] = configurations_new[index] + '2'
    else:
        configurations_new[index] = configurations_new[index] + '3'

使用列表推导式编写时:

Which when written using list comprehension is:

configurations_new = [i + '1' if index < 75 else i + '2' if index < 150 else i + '3' for index, i in enumerate(configurations_v1)]

这篇关于根据字符串在列表中的位置,将不同的字符串附加到字符串列表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆