Python 转换每个条目';(,)&x27;不带字符串的列表
如果在python中有一个列表,让我们说:Python 转换每个条目';(,)&x27;不带字符串的列表,python,type-conversion,Python,Type Conversion,如果在python中有一个列表,让我们说: new_list = [(18,430), (19,430), (19,429), (19,428), (19,427), (18,426), (17,426), (17,425), (17,424), (17,423), (17,422), (17,421), (17,420), (17,421)] list1=['(18430)'(19430)'(19429)'(19428)'(19427)'(18
new_list = [(18,430), (19,430), (19,429), (19,428), (19,427), (18,426),
(17,426), (17,425), (17,424), (17,423), (17,422), (17,421),
(17,420), (17,421)]
list1=['(18430)'(19430)'(19429)'(19428)'(19427)'(18426)',
'(17,426)', '(17,425)', '(17,424)', '(17,423)', '(17,422)', '(17,421)',
'(17,420)', '(17,421)']
您希望转换列表中不带字符串的每个元素,并创建一个新列表,例如:
new_list = [(18,430), (19,430), (19,429), (19,428), (19,427), (18,426),
(17,426), (17,425), (17,424), (17,423), (17,422), (17,421),
(17,420), (17,421)]
在python中,您将如何做到这一点?也会在
new\u list
,例如(18430)
,是否被视为元组?首先,str到元组的转换只会生成一个包含所有字符串字符的新元组,因此无法进行显式转换,或者需要创建一个函数将字符串转换为元组,或者从中分割括号,将其转换为一个数字,然后用该数字创建一个元组,然后创建一个新列表并插入新创建的元组。我几小时前刚刚处理过这个问题。下面是如何做到这一点
假设:列表1中的所有项都是存储为字符串的整数元组
list1 = ['(18,430)', '(19,430)', '(19,429)',
'(19,428)', '(19,427)', '(18,426)',
'(17,426)', '(17,425)', '(17,424)',
'(17,423)', '(17,422)', '(17,421)',
'(17,420)', '(17,421)' ]
list2 = [tuple(map(int,(i.replace(')','').replace('(','')).split(','))) for i in list1]
print (list2)
其输出将为:
[(18, 430), (19, 430), (19, 429),
(19, 428), (19, 427), (18, 426),
(17, 426), (17, 425), (17, 424),
(17, 423), (17, 422), (17, 421),
(17, 420), (17, 421)]
对于您的示例,一种简单的方法是使用内置函数:
new_list = [eval(item) for item in list1]
如果字符串更复杂,最好从模块中使用:
是的,
new\u list
的每个元素都是一个元组。我建议先尝试答案,然后发布代码,然后寻求帮助。我看了你的两个问题。这两个问题都没有你想要解决的。当您继续使用堆栈溢出时,请计划提供您的代码以及问题。