繁体   English   中英

从 python 中的元组列表中删除引号

[英]Remove quotes from a list of tuples in python

希望有人可以帮助我弄清楚如何从元组列表中排除引号并将其显示在最终的 output 中。 我尝试了正则表达式和 f 字符串格式,但似乎没有任何效果:(

lts = [('A', 1), ('B', 14), ('C', 12), ('D', 11), ('E', 9)]
Regex - [(re.sub(r"[^a-zA-Z0-9 ]", "", l[0]), l[1]) for actor in lst]
F-string - f'{l[0]}, {l[1]}' for l in lst]

desired_output = [(A, 1), (B, 14), (C, 12), (D, 11), (E, 9)] 

如果A , B , ... 是已定义的变量,您可以执行以下操作:

A, B, C, D, E = 1, 2, 3, 4, 5
desired_output = [(globals()[k], v) for k, v in lts]
print(desired_output)

哪个打印

[(1, 1), (2, 14), (3, 12), (4, 11), (5, 9)]

如果您只是想要一个不带引号的lts字符串表示,您可以执行以下操作:

desired_output = repr(lts).replace("'", '')
print(desired_output)

哪个打印

[(A, 1), (B, 14), (C, 12), (D, 11), (E, 9)]

代码:

lts = [('A', 1), ('B', 14), ('C', 12), ('D', 11), ('E', 9)]
a = "["
b = []
for l in lts:
    b.append( f"({l[0]},{l[1]})" )
e = ", ".join(b)
print(e)
for each in e:
    a += each
a += f"]"
print(a)

Output

(A,1), (B,14), (C,12), (D,11), (E,9)
[(A,1), (B,14), (C,12), (D,11), (E,9)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM