在 python 中合并两个字符串

combine two strings in python

我有一个list1这样的,

list1 = [('my', '1.2.3', 2),('name', '9.8.7', 3)]

我想得到一个新的 list2 像这样(将第一个元素与第二个元素的第二个条目连接起来);

list2 = [('my2', 2),('name8', 3)]

作为第一步,我正在检查加入元组中的前两个元素,如下所示,

for i,j,k in list1:
    #print(i,j,k)
    x = j.split('.')[1]
    y = str(i).join(x)
    print(y)

但我明白了

2
8

我在期待这个;

my2
name8

我做错了什么?有什么好办法吗?一个简单的方法..

中的str(i).join(x),意思是你把x看成一个可迭代的字符串(一个字符串是一个可迭代的字符串),你要通过添加[=12=来构造一个字符串] 在 x.

的元素之间

您可能想要 print('{}{}'.format(i+x)) 但是:

for i,j,k in list1:
    x = j.split('.')[1]
    print(<b>'{}{}'.format(i+x)</b>)

尝试

y = str(i) + str(x)

应该可以。

试试这个:

for x in list1:
   print(x[0] + x[1][2])

for x in list1: 
   print(x[0] + x[1].split('.')[1]) 

输出

# my2
# name8

你应该能够通过 f 字符串和列表理解来实现这一点,尽管它会非常严格。

list_1 = [('my', '1.2.3', 2),('name', '9.8.7', 3)]

# for item in list_1
# create tuple of (item[0], item[1].split('.')[1], item[2])
# append to a new list
list_2 = [(f"{item[0]}{item[1].split('.')[1]}", f"{item[2]}") for item in list_1]

print(list_2)

列表理解(和字典理解)是我最喜欢 python3

的一些事情

https://www.pythonforbeginners.com/basics/list-comprehensions-in-python
https://www.digitalocean.com/community/tutorials/understanding-list-comprehensions-in-python-3

顺应作者的主题,

list1 = [('my', '1.2.3', 2),('name', '9.8.7', 3)]

for i,j,k in list1:
    extracted = j.split(".") 
    y = i+extracted[1] # specified the index here instead 
    print(y) 
my2
name8

[Program finished]