Pythonチュートリアル:スライス、反復、リスト生成

スライス

シーケンスタイプは、要素が順番に配置されるデータ構造のタイプです。この方法では、特定のデータ要素を添え字で取得したり、シーケンス要素のセットを添え字の範囲を指定して取得したりできます。シーケンスにアクセスするこの方法は、スライスと呼ばれます。

  • スライスできるデータ型:リスト、タプル、文字列。
  • スライス操作のセクションは、左に閉じて右に開きます。
  • スライス操作の演算子:[] [:] [::]
    L = ['Michael'、 'Sarah'、 'Tracy'、 'Bob'、 'Jack']

#L
print(L [0:3])の最初の3つのデータを取得します#['Michael'、 'Sarah'、 'Tracy']

#从索引 1 开始,取出 2 个元素出来:
print(L[1:3])

#倒数索引取元素:
print(L[-2:-1])
print(L[-1:])  
print(L[-2:])  

#原样复制
print(L[:]) 

#从头到尾间隔20取数
L1 = list(range(100))
print(L1[::20]) 

結果:

['Michael', 'Sarah', 'Tracy']
['Sarah', 'Tracy']
['Bob']
['Jack']
['Bob', 'Jack']
['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
[0, 20, 40, 60, 80]

反復

リストまたはタプルが与えられた場合、forループを介してリストまたはタプルをトラバースします。このトラバーサルは反復です。
繰り返すことができる一般的なオブジェクトは、文字列、リスト、タプル、および辞書です。

辞書を反復処理する

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
d={
    
    'python':1,'php':2,'java':3}

#默认迭代的是key
print("字典默认迭代key:")
for i in d:
    print(i)

print("字典自定义迭代key:")    
#自定义迭代key
for key in d.keys():
    print(key)

print("字典自定义迭代value:")  
#迭代value
for value in d.values():
    print(value)

print("字典自定义同时迭代key和value:")  
#同时迭代key,value
for k , v in d.items():
    print(k,v)

結果:

字典默认迭代key:
php
java
python
字典自定义迭代key:
php
java
python
字典自定义迭代value:
2
3
1
字典自定义同时迭代key和value:
php 2
java 3
python 1

リストを繰り返し処理します

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#对于一个列表
lanage=['python','php','java','c++']

# 第一种:
print("list迭代第一种方法:")
for x in range(len(lanage)):
    print(x,lanage[x])
# 第二种:
print("list迭代第二种方法:")
for i ,value in enumerate(lanage):
    print(i,value)

#在同一行输出:
print("list迭代同一行输出:")
for i ,value in enumerate(lanage):
    print(i,value ,end=',')

結果:

list迭代第一种方法:
0 python
1 php
2 java
3 c++
list迭代第二种方法:
0 python
1 php
2 java
3 c++
list迭代同一行输出:
0 python,1 php,2 java,3 c++,

リストの生成

リスト内のデータに対して計算と操作を実行して新しいリストを生成する最も効率的で迅速な方法は、リストの生成です。

# 使用列表生成式对列表数平方

b = range(1, 11)
c = [x*x for x in b]
print(c)

执行结果:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

判断があれば

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 提取大于0的数
c = [1, 3, -3, 4, -2, 8, -7, 6]
d = [x for x in c if x > 0]
print(d)

执行结果:

[1, 3, 4, 8, 6]

複数のパラメータ

L = [m + n for m in 'ABC' for n in 'XYZ']
print(L) 

执行结果:

['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

おすすめ

転載: blog.csdn.net/qdPython/article/details/112613720