pionrrt 发表于 2023-6-13 23:22:47

join函数需要提前定义么

ten_things="Apples Oranges Crows Telephone Light Sugar"

print("Wait there's not 10 things in that list,let's fix that.")

stuff=ten_things.split()
more_stuff=["Day","Night","Song","Frisbee","Corn","Banana","Girl","Boy"]
while len(stuff)!=10:
    next_one=more_stuff.pop()
    print("Adding:",next_one)
    stuff.append(next_one)
    print("There is %d items now."%len(stuff))
print("There we go:",stuff)
print("Let's do some things with stuff.")
print(stuff)
print(stuff[-1])#whoa!fancy
print(stuff.pop())
print(' '.join(stuff))#what?cool! #
print()
print(' # '.join(stuff))#super stellar!

上面这段代码是一个练习,习题后面解释了这两种方式
①print(join(' ',stuff)),②print(' '.join(stuff))

①的意思是打印”用‘ ’连接things“
②的意思是”为‘ ’ 和things“调用join函数

在我的这段代码里,为什么②可以执行,而①报错,join函数需要我提前定义么?②的这种写法也不是很理解




歌者文明清理员 发表于 2023-6-13 23:28:04

哪个习题,他说的(1)就是错的

歌者文明清理员 发表于 2023-6-13 23:29:06

如果你非要提前定义……
join = str.join
这行代码放在最开头

pionrrt 发表于 2023-6-13 23:41:59

歌者文明清理员 发表于 2023-6-13 23:29
如果你非要提前定义……

这行代码放在最开头

那②这种做法怎么理解呢

歌者文明清理员 发表于 2023-6-14 00:08:28

pionrrt 发表于 2023-6-13 23:41
那②这种做法怎么理解呢

a.join(b)
# b是列表
用a来拼接b
比如:b=['b0','b1','b2']
a=" "#空格
a.join(b)#b0 b1 b2
页: [1]
查看完整版本: join函数需要提前定义么