python基础——列表基础知识点

本文深入探讨了Python中字符串和列表的各种高级操作技巧,包括切片、替换、查找、排序及反向输出等,同时介绍了如何利用这些技巧进行高效的数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

s="abcdef"
print(s[0])
print(s[5])
print(s[4])
print(s[len(s)-1])
print(s[len(s)-2])

for i in range(0,len(s)):
    print("第{}个字符是{}。".format(i+1,s[i]))

i=0
while i<len(s):
    print("第%d个字符是%c。"%(i + 1, s[i]))
    i+=1


a=3
b=4
c=a
a=b
b=c
print("a=",a,"b=",b)

a=4
b=3
a,b=b,a
print("a=",a,"b=",b)


s='abc123defg'
print(s[3:6])#切片不影响初始值
print(s[4:8])
print(type(s))
print(s)
#字符串是不可更改类型,在任何情况下都不可改变他内容的值。


s="123456789"
print(s[3:8:2])
print(s[2:9:3])
print(s[2:])
print(s[:7])
print(s[-1])

for i in range(1,len(s)):# 疑点1
    print(s[-i])

i=-1
while i>-len(s)-1:
    print(s[i])
    i-=1

i=len(s)-1
while i>=0:
    i-=1
    print(s[i])

s='123456789'
print(s[::3])
print(s[1::2])
print(s[::2])
i=s.find("123")#查找函数。查找出1的下标。
print(i)
i=s.find("789")
print(i)
i=s.find("098")
print(i)#要查找的内容在s中不存在时,则返回-1,表示没有这项内容。
#index函数与find功能一样,但是在查找不存在内容时会报错,故使用find会更好。

s='abcssaajsg'
i=s.count("abc") #count函数:计数。
print(i)
i=s.count("a")
print(i)
print(s.replace("abc","123")) #replace替换函数。

s='123'
b=s.replace('12','a') #s没有被改变,只是把变化的s赋值给了b。
print(s)
print(b)

s="123-acb-qwe"
print(s.split('-'))# split切片函数,以-为段切片。
s="asd"
print(s.capitalize())#将首字母大写。
s="as"
s.capitalize()
print(s) #s没有被改变。
s='good morning'
print(s.title()) #将每个单词的首字母大写。
print(s.startswith("good"))#判断s是否以good开头。
print(s.endswith("good"))#判断s是否以good结尾。
s='qweASD'
print(s.lower())#将字符全部转换成小写。
print(s.upper())#将字符全部转换成大写。


s="  wed "
print(s.strip())#去掉字符串中的空格。
print(s.lstrip())#去掉左边的空格。
print(s.rstrip())#去掉右边空格。

s="123-qwe-d"
b=s.partition("-")#把字符串分开,只分一次,并且包括-。split可以按照-分组。
print(b)
s='adc\nazx\ndfg'
print(s.splitlines())#默认换行分隔。
print(s.split('\n'))#与splitlines一样。


a="abc"
print(a.isalpha())#判断是否全是字母。
a="123"
print(a.isdigit())#判断是否全是数字。
b="12.3"
print(b.isdigit())#12.3判断不是数字。
a="12dc"
print(a.isalnum())#判断是否全是字符或者数字。
b='12/3'
print(b.isalnum())

#list
l=[1,2,3,4]
print(l[1])
print(l[2:4])
print(l[1:4:2])
l[0]=7
print(l)
l.append(8)#在列表尾部追加。
print(l)
l.insert(3,9)#在指定下标位置插入。
print(l)
del l[3]#删除指定元素。
print(l)
print(len(l))
i=0
while i<len(l):
    print("第{}个数是{}。".format(i+1,l[i]))
    i+=1
#用for循环遍历:
for i in l:
    print(i)

a=[1,2,3,4,5,6,7,8,9,10]
start=int(input('请输入初始值:'))
end=int(input("请输入终止值:"))
bc=int(input("请输入步长:"))
print(a[start:end:bc])
i=start#用循环做分片(切片)。
while i<end:
    print(a[i],end=" ")
    i+=2
for i in range(start,end,bc):
    print(a[i], end=" ")


a="asd12647__"
i=0
n=0
n2=0
n3=0
while i<len(a):
    if a[i]>="a" and a[i]<="z":
        n+=1
        print(i,"的位置是小写字母:",a[i])
    elif a[i]>="0" and a[i]<="9":
        n2+=1
        print(i,"的位置是数字:",a[i])
    elif a[i]>="_":
        n3+=1
        print(i,"的位置是_:",a[i])
    i+= 1

print("一共有%d个字母,%d个数字,%d个下划线"%(n,n2,n3))


a=[["one",1],["two",2],["three",3]]
for k,v in a:
    print(k,"-->",v)

num1=0
num2=0
a="qAKwe12592"
for i in a:
    if "A"<=i<="Z" or "a"<=i<="z":
        print("{}是字母。".format(i))
        num1+=1
    elif "0"<=i<="9":
        print("%s是数字。"%i)
        num2+=1
print("有{}个字母,{}个数字。".format(num1,num2))

a=[x for x in range(1,35)]
b=[m for m in a if m%2==0]
print(a)
print(b)

a=[1,2,3]
b=[4,5]
a.extend(b)
print(a)
c=8
d=c in b
print(d)

a=[1,2,3]
b="abc"#要想abc成一个整体,则把“abc”当一个集合。
a.extend(b)
print(a)
a.pop()
print(a)
a.pop(3)
print(a)
print(id(a))
a.remove("b")#移除列表中的值。
print(a)
print(id(a))

a=[1,6,3,9,2]
a.sort(reverse=True)#sort函数默认按照升序排列,价参数reverse=True变降序。
print(a)

#将列表元素反向输出。
a=[1,2,3,4,5]
i=0
j=len(a)-1
while i<j:
    t=a[i]
    a[i]=a[j]
    a[j]=t
    i+=1
    j-=1
print(a)
a.reverse()#用reverse函数直接实现反向输出。
print(a)

#将列表元素向前传送。
a=[1,2,3,4,5,6]
t=a[0]
i=0
while i<len(a)-1:
    a[i]=a[i+1]
    i+=1
a[len(a)-1]=t
print(a)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值