相关疑难解决方法(0)

迭代器,迭代和迭代究竟是什么?

Python中"iterable","iterator"和"iteration"的最基本定义是什么?

我已阅读多个定义,但我无法确定其确切含义,因为它仍然不会沉入其中.

有人可以帮助我解释外行人的3个定义吗?

python iteration iterator iterable terminology

408
推荐指数
10
解决办法
29万
查看次数

对于Python字典,iterkeys是否比viewkey提供任何优势?

在Python 2.7中,字典既有iterkeys方法又有viewkeys方法(以及值和项的类似对),提供两种不同的方式来懒惰地迭代字典的键.该viewkeys方法提供的主要特征iterkeys,具有iter(d.viewkeys())实际上等效于d.iterkeys().此外,返回的对象viewkeys具有方便的类似集的功能.因此,有充分的理由看好viewkeysiterkeys.

另一个方向呢?除了与早期版本的Python的兼容性之外,还有什么方法iterkeys比较好viewkeys?只要总是使用就会丢失任何东西viewkeys吗?

python python-2.7

25
推荐指数
4
解决办法
4万
查看次数

如何从订购字典中获取所有密钥?

def izracunaj_dohvatljiva_stanja(funkcije_prijelaza):
    dohvatljiva = []
    dohvatljiva.extend(pocetno_stanje)
    pomocna = collections.OrderedDict
    for i in xrange(len(dohvatljiva)):
        for temp in pomocna.keys(): <-----------------------------------this line
            if temp.split(',')[0] == dohvatljiva[i]:
                if funkcije_prijelaza.get(temp) not in dohvatljiva:
                    dohvatljiva.extend(funkcije_prijelaza.get(temp))
Run Code Online (Sandbox Code Playgroud)

我试图从有序的dict获取所有键,所以我可以迭代它但运行错误后发生: 点击图片

python key ordereddictionary

11
推荐指数
3
解决办法
1万
查看次数

为什么2to3将mydict.keys()更改为list(mydict.keys())?

我正在查看包含此更改的2to3的输出:

-            for file_prefix in output.keys():
+            for file_prefix in list(output.keys()):
Run Code Online (Sandbox Code Playgroud)

哪里output是字典.

这种变化有什么意义?为什么2to3这样做?

这种变化如何使代码Python 3兼容?

python python-2to3 python-3.x

9
推荐指数
1
解决办法
1115
查看次数

为什么当我打印字典的键时,它前面有 dict_keys ?

当我做:

d = {'x': 1, 'y': 2, 'z': 'randy'}

print(d.keys())
Run Code Online (Sandbox Code Playgroud)

结果是:

dict_keys(['x', 'y', 'z'])
Run Code Online (Sandbox Code Playgroud)

为什么会有dict_keys? 有办法摆脱它吗?

python python-3.x

3
推荐指数
1
解决办法
1万
查看次数

如何在Python中指定字典键的返回类型?

给定一个我想使用类型提示增强的函数(在 Python 3.9 中)

def my_func():
    return my_dict.keys() # origin of my_dict is irrelevant
Run Code Online (Sandbox Code Playgroud)

我看过PEP 589这个 Stack Overflow 问题,描述了如何使用TypedDict. 然而,这不是试图实现的目标。

我想要字典键对象的返回类型。我知道可以使用将键对象转换为列表list(my_dict),然后使用返回类型list[key_type](使用key_typebeingintstr)。但这是要走的路吗?

类型my_dict

>>> type(my_dict.keys())
<class 'dict_keys'>
Run Code Online (Sandbox Code Playgroud)

但是,我无法dict_keys像这样使用:

def my_func() -> dict_keys:
     return my_dict.keys()
Run Code Online (Sandbox Code Playgroud)

Pylance 报告说,该my_dict.keys()类型属于_dict_keys[key_type, value_type]。为什么这种类型应该是“私有的”?它来自哪里?我们可以以某种方式使用它作为返回类型吗?

python

3
推荐指数
1
解决办法
3227
查看次数

从dicts列表中获取"密钥"

我有以下数据:

[{'id': ['132605', '132750', '132772', '132773', '133065', '133150', '133185', '133188', '133271', '133298']}, 
 {'number': ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']}, 
 {'id': ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1']}]
Run Code Online (Sandbox Code Playgroud)

获取密钥列表的最佳方法是什么(好像它是dict而不是数组)?目前我在做:

>>> [list(i.keys())[0] for i in e.original_column_data]
['id', 'number', 'id']
Run Code Online (Sandbox Code Playgroud)

但这感觉有点hackish

python

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

如何在 python 中从中创建列表?

source = [{'address': 15620, 'street': 490}, {'address': 10180, 'street': 2187}, {'address': 10190, 'street': 670}, {'address': 20900, 'street': 572}, {'address': 8190, 'street': 1103}, {'address': 43110, 'street': 225}, {'address': 24780, 'street': 1465}, {'address': 50130, 'street': 249},]
Run Code Online (Sandbox Code Playgroud)

我想列一个这样的清单。请帮我。谢谢。

result = (15620, 10180, 10190, 20900, 8190, 43110, 24780, 50130)
Run Code Online (Sandbox Code Playgroud)

python list

-3
推荐指数
1
解决办法
117
查看次数