根据字符串在列表中的位置,将不同的字符串附加到字符串列表中 [英] Append different strings to a list of strings depending on its position in the list
问题描述
给定以下配置列表
['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屋!