gpt4 book ai didi

python - 解析字符串列表并根据这些字符串的切片返回连接的字符串的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 18:13:52 25 4
gpt4 key购买 nike

这是一个示例列表和所需的输出:

list = ['1 Michael Jessica', '2 Christopher Ashley', '3 Matthew Brittany', '4 Joshua Amanda']
output = [ 'Michael 1', 'Jessica 1', 'Christopher 2', 'Ashley 2', 'Matthew 3', 'Brittany 3', etc]

# Then I sort it but that doesn't matter right now

我是一个 python 新手,结合我理解的概念来产生这个我几乎不好意思发布的可怕的可笑代码。毫无疑问,有一种适当且更简单的方法!我很想得到一些建议和帮助。请不要担心我的代码或编辑它。如果有帮助,请发布以供引用。理想情况下,我正在寻找全新的代码。

list = ['1 Michael Jessica', '2 Christopher Ashley', '3 Matthew Brittany', '4 Joshua Amanda']
list3 = []
list4 = []
y = []

for n in list:
x = n.split()
y.append(x)

print(y)

for str in y:
for pos in range(0, 3, 2): # Number and Name 1
test = str[pos]
list3.append(test)


for str in y:
for pos in range(0, 2): # Number and Name 2
test = str[pos]
list4.append(test)

list3.reverse()
list4.reverse()

print(list3)
print(list4)

length = int(len(list3) / 2)
start = 0
finish = 2

length2 = int(len(list4) / 2)
start2 = 0
finish2 = 2

for num in range(0, length):
list3[start:finish] = [" ".join(list3[start:finish])]
start += 1
finish += 1

for num in range(0, length):
list4[start2:finish2] = [" ".join(list4[start2:finish2])]
start2 += 1
finish2 += 1

print(list3)
print(list4)

list5 = list3 + list4
list5.sort()
print(list5)

最佳答案

这是一种使用简单迭代和 str.split 的方法。

例如:

lst = ['1 Michael Jessica', '2 Christopher Ashley', '3 Matthew Brittany', '4 Joshua Amanda']
result = []
for i in lst:
key, *values = i.split()
for n in values:
result.append(f"{n} {key}") #or result.append(n + " " + key)
print(result)

输出:
['Michael 1', 'Jessica 1', 'Christopher 2', 'Ashley 2', 'Matthew 3', 'Brittany 3', 'Joshua 4', 'Amanda 4']

关于python - 解析字符串列表并根据这些字符串的切片返回连接的字符串的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62318269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com