155185 发表于 2023-2-1 18:58:56

ord运行显示一大串东西

r = (f for f in w if ord('我'))
   
r
   
<generator object <genexpr> at 0x000002538BC120A0>
这是运行错了还是咋了

isdkz 发表于 2023-2-1 19:04:40

本帖最后由 isdkz 于 2023-2-1 19:05 编辑

没有运行错,因为你用了生成器表达式,所以得到了一个生成器对象

你可以用 list(r) 转成列表,或者用 next(r) 迭代出元素

ba21 发表于 2023-2-1 19:05:49

w????????
是什么?????????

155185 发表于 2023-2-1 19:12:41

isdkz 发表于 2023-2-1 19:04
没有运行错,因为你用了生成器表达式,所以得到了一个生成器对象

你可以用 list(r) 转成列表,或者用 ne ...

w = ['我我', '妮妮']
   
r =
   
list(r)
   
['我我', '妮妮']
next(r)
   
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
    next(r)
TypeError: 'list' object is not an iterator
列表对象用不了next的吗?
{:10_319:}

155185 发表于 2023-2-1 19:13:24

ba21 发表于 2023-2-1 19:05
w????????
是什么?????????

列表对象
w = ['我我', '塔塔']

isdkz 发表于 2023-2-1 19:14:32

本帖最后由 isdkz 于 2023-2-1 19:26 编辑

155185 发表于 2023-2-1 19:12
w = ['我我', '妮妮']
   
r =


列表不行,只有迭代器可以,生成器是特殊的迭代器,所以可以用 next

列表要用 next 得把列表转成迭代器,用 iter

next(iter(list(r)))

155185 发表于 2023-2-1 19:23:48

isdkz 发表于 2023-2-1 19:14
列表不行,只有迭代器可以,生成器是特殊的迭代器,所以可以用 next

列表要用 next 得把列表转成迭代 ...

next(iter(list(r))
语法错误:无效语句,忘加逗号
next(,iter(list(r))
无效语句{:10_291:}

isdkz 发表于 2023-2-1 19:25:10

155185 发表于 2023-2-1 19:23
next(iter(list(r))
语法错误:无效语句,忘加逗号
next(,iter(list(r))


next(,iter(list(r))

你这里为什么要加个逗号呀,而且还是个中文逗号,这个逗号不要

isdkz 发表于 2023-2-1 19:26:41

155185 发表于 2023-2-1 19:23
next(iter(list(r))
语法错误:无效语句,忘加逗号
next(,iter(list(r))


我之前打少了一个括号next(iter(list(r)))

155185 发表于 2023-2-1 19:45:55

isdkz 发表于 2023-2-1 19:26
我之前打少了一个括号

{:10_266:}
页: [1]
查看完整版本: ord运行显示一大串东西