gpt4 book ai didi

python - 在 Python 中将字符串插入列表 (v. 3.4.2)

转载 作者:太空狗 更新时间:2023-10-30 00:55:21 27 4
gpt4 key购买 nike

我正在学习 Python 3.4.2 中的函数和类,这段代码片段的输出让我有点偏离方向:

print("This program will collect your demographic information and output it")
print ("")

class Demographics: #This class contains functions to collect demographic info

def phoneFunc(): #This function will collect user's PN, including area code
phoneNum = str(input("Enter your phone number, area code first "))
phoneNumList = []
phoneNumList[:0] = phoneNum
#phoneNumList.insert(0, phoneNum) this is commented out b/c I tried this and it made the next two lines insert the dash incorrectly

phoneNumList.insert(3, '-')
phoneNumList.insert(7, '-')
print(*phoneNumList)

x = Demographics
x.phoneFunc()

当它打印电话号码时,它会像这样分隔数字:x x x - x x x - x x x x 而不是 xxx-xxx-xxxx。

有没有办法去掉字符之间的空格?我查看了这些线程(第一个是最有帮助的,并且部分地帮助了我)但我怀疑我的问题与它们中描述的不完全相同:

Inserting a string into a list without getting split into characters

How to split a string into a list?

python 3.4.2 joining strings into lists

最佳答案

就目前而言,您正在将一个字符列表传递给打印方法,如果您没有指定分隔符,每个字符都将以空格分隔(默认分隔符)打印。

如果我们在 print 方法调用中将 sep 指定为空字符串,字符之间将没有空格。

>>> phoneNumList = []
>>> phoneNumList[:0] = "xxx-xxx-xxxx"
>>> phoneNumList
['x', 'x', 'x', '-', 'x', 'x', 'x', '-', 'x', 'x', 'x', 'x']
>>> print(*phoneNumList)
x x x - x x x - x x x x
>>> print(*phoneNumList, sep="", end="\n")
xxx-xxx-xxxx

另一种方法是使用 print(''.join(phoneNumList))

连接字符并将它们作为单个字符串输入传递给 print 方法
>>> print(''.join(phoneNumList))
xxx-xxx-xxxx

关于python - 在 Python 中将字符串插入列表 (v. 3.4.2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29279099/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com