相关疑难解决方法(0)

如何将字符串空格分隔的键,唯一字的值对转换为字典

我有一个字符串,其中的单词用空格分隔(所有单词都是唯一的,没有重复).我将此字符串转换为列表:

s = "#one cat #two dogs #three birds"
out = s.split()
Run Code Online (Sandbox Code Playgroud)

并计算创建的值的数量:

print len(out) # Says 192 
Run Code Online (Sandbox Code Playgroud)

然后我尝试从列表中删除所有内容:

for x in out:
     out.remove(x)
Run Code Online (Sandbox Code Playgroud)

然后重新计算:

print len(out) # Says 96 
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么它说96而不是0?

更多信息

每行以'#'开头,实际上是一对以空格分隔的单词:对中的第一个是键,第二个是值.

所以,我在做的是:

for x in out:
     if '#' in x: 
          ind = out.index(x) # Get current index 
          nextValue = out[ind+1] # Get next value 
          myDictionary[x] = nextValue
          out.remove(nextValue)
          out.remove(x) 
Run Code Online (Sandbox Code Playgroud)

问题是我不能将所有键,值对移动到字典中,因为我只迭代96个项目.

python iteration split loops list

9
推荐指数
2
解决办法
1209
查看次数

'exit'不是Python中的关键字,但是使用它时不会发生错误

我了解到,这exit不是Python中的关键字,

import keyword
print('exit' in keyword.kwlist)     # Output: False
Run Code Online (Sandbox Code Playgroud)

但是NameError: name 'exit' is not defined在使用它时没有任何提醒。以下代码段的输出使我感到困惑。谁能帮我吗?

for i in range(5):
    print(i)
    cur=i if i<2 else exit

print(cur)
# Output
0
1
2
3
4
Use exit() or Ctrl-D (i.e. EOF) to exit
Run Code Online (Sandbox Code Playgroud)

exit除了之外,我无法从Python文档中获取相关信息exit([code=None])

python ternary-operator exit

4
推荐指数
1
解决办法
369
查看次数

标签 统计

python ×2

exit ×1

iteration ×1

list ×1

loops ×1

split ×1

ternary-operator ×1