>  기사  >  백엔드 개발  >  For 루프를 사용하여 Python 사전을 순회하는 세 가지 방법(자세한 예)

For 루프를 사용하여 Python 사전을 순회하는 세 가지 방법(자세한 예)

WBOY
WBOY앞으로
2022-04-18 18:18:254235검색

이 글은 python에 대한 관련 지식을 제공합니다. for 루프를 사용하여 Python 사전을 탐색하는 방법에 대해 주로 소개합니다. 모두에게 도움이 되기를 바랍니다.

For 루프를 사용하여 Python 사전을 순회하는 세 가지 방법(자세한 예)

추천 학습: python 비디오 튜토리얼

Python에서 "for" 루프를 사용하여 사전을 탐색하는 방법은 무엇입니까?

오늘 우리는 세 가지 방법을 시연하고 중첩된 사전을 탐색하는 방법을 배웁니다.

실제 전투에 앞서 시뮬레이션 데이터 사전을 생성해야 합니다.

dict_1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'}

방법 1: For 루프 + 인덱스를 사용하여 반복

Python에서 사전을 반복하는 가장 쉬운 방법은 사전을 for 루프에 직접 넣는 것입니다.

Python은 자동으로 dict_1을 사전으로 처리하고 해당 키를 반복할 수 있게 해줍니다. 그런 다음 인덱스 연산자를 사용하여 각 값을 얻을 수 있습니다. dict_1视为字典,并允许你迭代其key键。然后,我们就可以使用索引运算符,来获取每个value值。

for key in dict_1:
    print(key, ":", dict_1[key])

如果你想按照字母顺序排列key键,可以使用sorted()方法,具体用法如下所示。

for key in sorted(dict_1):
    print(key, ":", dict_1[key])

方法 2:使用 .keys( ) + 索引进行迭代

使用.keys()返回包含字典键的 Python 对象的方法,可以获得与方法1相同的结果。同样,它也需要与索引运算符结合使用。

for key in dict_1.keys():
    print(key, '-->', dict_1[key])

方法 3:使用 .items( ) 进行迭代

其实,遍历字典的最“pythonic”和优雅的方法,是使用.items()方法。

print(dict_1.items())

为了迭代transaction_data字典的键和值,您只需要“解包”嵌入在元组中的两个项目,如下所示:

for k,v in dict_1.items():
    print(k,">>",v)

需要注意,kv只是“键”和“值”的标准别名,但你也可以选择其他命名约定。

比如,我们可以更换成ab,也会有相同的输出。

for a,b in dict_1.items():
    print(a,"-",b)

进阶:遍历嵌套字典

有时候,我们会遇到比较复杂的字典——嵌套字典。

那么这种情况该如何办呢?

dict_2 = {"num_1":{'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'},
          "num_2":{'Name': 'BOb', 'Age': 32, 'Class': 'Six','Address':'Shanghai'},
          "num_3":{'Name': 'Tom', 'Age': 25, 'Class': 'Second','Address':'Wuhan'}}dict_2

为了解开属于每个嵌套字典的键值对,我们可以这样做:

for k, v in dict_2.items():
    if type(v) is dict:
        for nk, nv in v.items():
            print(nk, "→", nv)

通过if语句判断value值是不是字典,如果是,则使用前面提到的方法 3,使用 .items( ) 进行迭代输出。

运行结果如下所示。

如果只想解压其中的部分字典,可以在if语句中增加条件。

for k, v in dict_2.items():
    if type(v) is dict and k == 'num_2':
        for sk, sv in v.items():
            print(sk, "-->", sv)

只输出num_2rrreee

키를 정렬하고 싶다면 알파벳 순서 키를 사용하려면 sorted() 메서드를 사용할 수 있으며 구체적인 사용법은 다음과 같습니다.

rrreee

방법 2: .keys( ) 사용 + 인덱스별로 반복 .keys() 메서드를 사용하여 사전 키가 포함된 Python 객체를 반환하면 메서드 1과 동일한 결과를 얻을 수 있습니다. 마찬가지로 인덱싱 연산자와 함께 사용해야 합니다.

rrreee🎜🎜🎜🎜방법 3: .items( ) to iterate🎜🎜🎜사실, 사전을 반복하는 가장 "파이썬적"이고 우아한 방법은 .items() 메서드를 사용하는 것입니다. 🎜rrreee🎜🎜🎜키와 값을 반복하려면 ​​transaction_data 사전의 경우 다음과 같이 튜플에 포함된 두 항목을 "압축해제"하면 됩니다. 🎜rrreee🎜🎜🎜kv는 "키"와 "값"에 대한 표준 별칭이지만, 다른 명명 규칙을 선택할 수도 있습니다. 🎜🎜예를 들어 ab로 바꾸면 동일한 출력이 표시됩니다. 🎜rrreee🎜🎜🎜🎜고급: 중첩된 사전 트래버스 🎜🎜 🎜때때로 우리는 더 복잡한 사전, 즉 중첩 사전을 접하게 됩니다. 🎜🎜그러면 이런 상황에서는 어떻게 해야 할까요? 🎜rrreee🎜🎜🎜속해 있는 중첩을 풀기 위해 사전의 키-값 쌍에 대해 다음을 수행할 수 있습니다. 🎜rrreee🎜 if 문을 사용하여 값이 사전인지 확인합니다. 그렇다면 이전에 언급한 방법 3을 사용하고 .items()를 사용합니다. 반복 출력. 🎜🎜실행 결과는 다음과 같습니다. 🎜🎜🎜🎜일부 압축만 풀고 싶은 경우 사전, 조건을 if 문에 추가할 수 있습니다. 🎜rrreee🎜num_2의 사전만 출력합니다. 실행 결과는 다음과 같습니다. 🎜🎜🎜🎜🎜위는 Python에서 사전을 탐색하기 위해 "for" 루프를 사용하는 팁입니다. 🎜🎜추천 학습: 🎜python 비디오 튜토리얼🎜🎜

위 내용은 For 루프를 사용하여 Python 사전을 순회하는 세 가지 방법(자세한 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제