2017-10-10 28 views
0
tuple_list = [('1','2'),('2','3'),('2','6')] 
string = Point 

Desired_List = [Point('1','2'),Point('2','3'),Point('2','6')] 

我曾嘗試下面的代碼:如何在開頭追加一個字符串到列表中的每個元組?

for x in tuple_list: 
    x.append("Point") 

    for x in tuple_list: 
    x + 'Point' 

如何開頭的字符串添加到列表中的每一個元組?

更新您的信息,我在X和Y點的csv文件2列和數百行:

x y 
1 3 
2 4 

我想,作爲:

Points = [Point(1,3),Point(2,4),......] 
+3

您不能追加一個字符串一個元組的開始 - 那些是[NamedTuples](https://docs.python.org/3/library/collections.html#collections.namedtuple) – SiHa

+0

可以定義一個快速的'class Point:def __init __(self): self.x = None,self.y = None'並且有你的對象列表。 – pstatix

+1

這是什麼'Desired_List'應該是?那個'Point'應該是什麼?在你的例子中,它看起來像你爲每個元組實例化的類,它與你所要求的元組或字符串操作無關。請改進該示例代碼,以便了解發生了什麼。有關更多信息,請參閱[PEP 8命名約定](https://www.python.org/dev/peps/pep-0008/#naming-conventions)。 – Jeronimo

回答

0

如果字符串所有你需要的,這是要走的路:

desired_list = [] 
for x,y in tuple_list: 
    desired_list.append(f"Point({x},{y})") 

它產生以下輸出:

>>> print(desired_list) 
['Point(1,2)', 'Point(2,3)', 'Point(2,6)'] 

至於命名的元組而言,如下你會做到這一點:

from collections import namedtuple 
Point = namedtuple('Point', ['x', 'y']) 
tuple_list = [('1','2'),('2','3'),('2','6')] 
desired_list = [] 
for x,y in tuple_list: 
    desired_list.append(Point(x, y)) 

以及相應的結果是:

>>> print(desired_list) 
[Point(x='1', y='2'), Point(x='2', y='3'), Point(x='2', y='6')] 
相關問題