繁体   English   中英

你如何从python中的列表中删除引号?

[英]How do you remove quotation marks form a list in python?

if deliver == 1 :
    address = list(input("What is your address?"))


print("Your pizza will be delivered to", address)

当它打印时它会做 'p' 'p' 'o' 'p' '1' '1' 当我想要它做 pp op11 以便它可以接收真实地址时

所以这里有 2 个想法,我将向您展示如何解决您当前的问题,然后我将帮助您看到更大的问题。

以下是解决您当前问题的方法。

if deliver == 1 :
    address = list(input("What is your address?"))


print("Your pizza will be delivered to", ''.join(address))

注意 ''.join(address)。

.join:告诉python连接列表中的每个项目。

.join(list): list 是你需要连接的列表。

''.join(list): '' 告诉 .join 在列表中的每个项目之间不添加任何内容

  • '-'.join(['888', '123', '4567']) 将创建 '888-123-4567'。

如何解决更大的问题。

您正在使用 input() 它将返回一个字符串。

然后将该字符串包装在一个列表中。 将字符串转换为列表时,每个字符(包括空格)都转换为列表项。

一旦您了解它可能会帮助您了解出了什么问题。

这里的问题是list方法正在获取输入字符串,假设 'Address1' 并将其转换为 ['A', 'd', 'd', 'r', 'e', 's', 's ', '1'] 这就是您看到引号的原因。

你可以这样做:

print("Your pizza will be delivered to", input("What is your address?"))

并避免额外的处理。

请注意,如果deliver != 1此代码将引发 NameError 异常,因为(我不知道您的其余代码)但无法定义地址变量。

暂无
暂无

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

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