python:列表与元组

1、列表

1.1列表创建

1.1.1list()创建

str1=list()
str1=list(range(10))
print(str1)
str2=list("zhaowei,sex")
print(str2)

输出为

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[‘z’, ‘h’, ‘a’, ‘o’, ‘w’, ‘e’, ‘i’, ‘,’, ‘s’, ‘e’, ‘x’]

1.1.2.range创建列表

str3=list(range(3,16,3))
print(str3)

输出为

[3, 6, 9, 12, 15]

1.1.3.推导式生成列表

str4=[x*2 for x in range(10)]
print(str4)
str5=[x*2 for x in range(100)if x%9==0]
print(str5)


a=list(range(10))
print(a)
for i in range(10):
    if a[i]%2==0:
        print(a[i])

输出为

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
0
2
4
6
8

1.2列表元素的增加与删除插入

a=[20,40]
a.append(50)
print(a)
del a[0]
print(a)
b=[20,40]
b.extend([30,50])
print(b)
b.insert(1,78)
print(b)
d=b.pop(0)
print(d)
b.remove(30)#删除某一个元素的值
print(b)

输出为

[20, 40, 50]
[40, 50]
[20, 40, 30, 50]
[20, 78, 40, 30, 50]
20
[78, 40, 50]

1.3乘法扩展

c=["sxe",40]
print(c*3)

输出为

[‘sxe’, 40, ‘sxe’, 40, ‘sxe’, 40]

1.4index()获得指定元素在列表中首次出现的索引

v=[10,2,4,5,6,7,8,2,3,4,4,5]
print(v.index(4))
print(v.count(4))

输出为

2
3

1.5列表slice切片

z=[10,2,4,5,6,7,8,2,3,4,4,5]
f=z[1:9:3]
print(f)

输出为

[2, 6, 2]

1.6列表的排序

z=[10,2,4,5,6,7,8,2,3,4,4,5]
z.sort()#升序
print(z)
g=[98,2,4,5,6,7,8,2,3,4,4,5]
g.sort(reverse=True)
print(g)#降序

import random
random.shuffle(g)#打乱排序
print(g)
#建新列表的排序
r=[10,2,4,5,6,7,8,2,3,4,4,5]
print(id(r))
j=sorted(r)
print(j)
print(id(j))

输出为

[2, 2, 3, 4, 4, 4, 5, 5, 6, 7, 8, 10]
[98, 8, 7, 6, 5, 5, 4, 4, 4, 3, 2, 2]
[6, 4, 5, 4, 4, 2, 7, 2, 3, 5, 8, 98]
42396360
[2, 2, 3, 4, 4, 4, 5, 5, 6, 7, 8, 10]
42379912

1.7reversed()返回迭代器只能用一次

#reversed()返回迭代器只能用一次
l=[10,2,4,5,6,7,8,2,3,4,4,5]
u=reversed(l)
print(type(u))
print(list(u))

输出为

<class ‘list_reverseiterator’>
[5, 4, 4, 3, 2, 8, 7, 6, 5, 4, 2, 10]

2.元组tuple

2.1列表创建

t=(1,2,3)
print(type(t))
print(t)
t1=tuple()#创建空元组
t2=tuple("acdjj")
print(t2)
t3=tuple([3,4,4,5])
print(t3)
del t3#删除元组
t4=tuple(range(10))
print(t4)

输出为

<class ‘tuple’>
(1, 2, 3)
(‘a’, ‘c’, ‘d’, ‘j’, ‘j’)
(3, 4, 4, 5)
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

2.2zip

a1=[1,2,3]
a2=[4,5,6]
a3=zip(a1,a2)
a4=list(a3)
print(a4)

输出为

[(1, 4), (2, 5), (3, 6)]

2.3生成器推导式创建元组

s1=(x*2 for x in range(5))
print(s1)
print(tuple(s1))

s2=(x*2 for x in range(5))
s3=s2.__next__()
print(s3)

输出为

<generator object at 0x0000000001DEFF68>
(0, 2, 4, 6, 8)
0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值