元组

2019-05-02  本文已影响0人  Vector_Wan

元组

序列:列表、字符串、元组

a = ('ddd', 111, 0.88)  # 元组中可以包含不同的数据类型
a
('ddd', 111, 0.88)

访问(通过索引访问)

a[0]
'ddd'

修改

元组一旦声明就不能修改和删除。

a[0] = 1
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-6-c8548dbc0a7e> in <module>
----> 1 a[0] = 1


TypeError: 'tuple' object does not support item assignment
a = ('a', 'b', 'c', 'd', 'b', 'a')
index1 = a.index('a')
print(index1)
c = a.count('b')
print(c)
0
2
# 注意!!!
b = (211221) # (一个数字)不是元组***
    
print(type(b))
print(b*3)     # 乘法只是整数乘法

d = (21,)  # (一个数字,)是元组
print(type(d))
print(d*3)  # 乘法 将元素复制相应的倍数
<class 'int'>
633663
<class 'tuple'>
(21, 21, 21)

同时遍历两个列表

zip() 用于将可迭代对象作为参数,将对象中的对应的元素组成一个元组,然后返回这些 对象 节约内存

a = [1, 2, 3]
b = [4, 5, 6]
c = [4, 5, 6, 7, 8]
zipped = zip(a, b)
print(zipped)   # zip 函数返回的是一个对象
print(list(zipped))  # 以列表的形式返回
<zip object at 0x000001D676367F48>
[(1, 4), (2, 5), (3, 6)]
list(zip(a,c)) # 长度不一致与最短的对象相同
[(1, 4), (2, 5), (3, 6)]
heros = ['后羿', '安琪拉']
skills = ['惩戒之箭', '烤串']
for hero, skill in zip(heros, skills):
    print(hero, '----->', skill)

    
for (hero, skill) in zip(heros, skills):
    print(hero, '----->', skill)
后羿 -----> 惩戒之箭
安琪拉 -----> 烤串
后羿 -----> 惩戒之箭
安琪拉 -----> 烤串
上一篇下一篇

猜你喜欢

热点阅读