首页 > 代码库 > python之路:Day01 --- Python基础2

python之路:Day01 --- Python基础2

本节内容

  1.列表操作

  2.元组操作

  3.字符串操作

  4.字典操作

  5.集合操作

  6.文件操作

  7.字符编码与转换

一、列表操作

定义列表

names = [‘Ming‘,"Hua",‘Jun‘]

通过下标访问列表中的元素,下标从0开始计数

>>> names[0]
‘Ming‘
>>> names[2]
‘Hua‘
>>> names[-1]
‘Jun‘
>>> names[-2] #还可以倒着取
‘Hua‘

 切片:取多个元素

技术分享
>>> names = ["Ming","Tenglan","Eric","Rain","Tom","Amy"]
>>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
[Tenglan, Eric, Rain]
>>> names[1:-1] #取下标1至-1的值,不包括-1
[Tenglan, Eric, Rain, Tom]
>>> names[0:3] 
[Ming, Tenglan, Eric]
>>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
[Alex, Tenglan, Eric]
>>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
[Rain, Tom, Amy] 
>>> names[3:-1] #这样-1就不会被包含了
[Rain, Tom]
>>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
[Ming, Eric, Tom] 
>>> names[::2] #和上句效果一样
[Ming, Eric, Tom]
View Code

追加

技术分享
>>> names
[Ming, Tenglan, Eric, Rain, Tom, Amy]
>>> names.append("我是新来的")
>>> names
[Ming, Tenglan, Eric, Rain, Tom, Amy, 我是新来的]
View Code

修改

技术分享
>>> names
[Ming, Tenglan, 强行从Eric前面插入, Eric, Rain, 从eric后面插入试试新姿势, Tom, Amy, 我是新来的]
>>> names[2] = "该换人了"
>>> names
[Ming, Tenglan, 该换人了, Eric, Rain, 从eric后面插入试试新姿势, Tom, Amy, 我是新来的]
View Code

删除

技术分享
>>> del names[2] 
>>> names
[Ming, Tenglan, Eric, Rain, 从eric后面插入试试新姿势, Tom, Amy, 我是新来的]
>>> del names[4]
>>> names
[Ming, Tenglan, Eric, Rain, Tom, Amy, 我是新来的]
>>> 
>>> names.remove("Eric") #删除指定元素
>>> names
[Ming, Tenglan, Rain, Tom, Amy, 我是新来的]
>>> names.pop() #删除列表最后一个值 
我是新来的
>>> names
[Ming, Tenglan, Rain, Tom, Amy]
View Code

扩展

技术分享
>>> names
[Ming, Tenglan, Rain, Tom, Amy]
>>> b = [1,2,3]
>>> names.extend(b)
>>> names
[Ming, Tenglan, Rain, Tom, Amy, 1, 2, 3]
View Code

拷贝

技术分享
>>> names
[Ming, Tenglan, Rain, Tom, Amy, 1, 2, 3]

>>> name_copy = names.copy()
>>> name_copy
[Ming, Tenglan, Rain, Tom, Amy, 1, 2, 3]
View Code

统计

技术分享
>>> names
[Ping, Tenglan, Amy, Tom, Amy, 1, 2, 3]
>>> names.count("Amy")
2
View Code

排序&翻转

技术分享
>>> names
[Ming, Tenglan, Amy, Tom, Amy, 1, 2, 3]
>>> names.sort() #排序
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() < str()   #3.0里不同数据类型不能放在一起排序了,擦
>>> names[-3] = 1
>>> names[-2] = 2
>>> names[-1] = 3
>>> names
[Ming, Amy, Amy, Tenglan, Tom, 1, 2, 3]
>>> names.sort()
>>> names
[1, 2, 3, Ming, Amy, Amy, Tenglan, Tom]

>>> names.reverse() #反转
>>> names
[Tom, Tenglan, Amy, Amy, Ming, 3, 2, 1]
View Code

获取下标

技术分享
>>> names
[Tom, Tenglan, Amy, Amy, Ming, 3, 2, 1]
>>> names.index("Amy")
2 #只返回找到的第一个下标
View Code

二、元组操作

定义元组

names = ("ming","jack","eric")

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表语法。

它只有2个方法,一个是count,一个是index,完毕。

三、字符串操作

技术分享
>>> n3_arg
{name: ping, age: 33}
>>> n3
my name is {name} and age is {age}
>>> n3.format_map(n3_arg)
my name is ping and age is 33

>>> n4.ljust(40,"-")
Hello 2orld-----------------------------
>>> n4.rjust(40,"-")
-----------------------------Hello 2orld

>>> s = "Hello World!"
>>> p = str.maketrans("abcdefg","3!@#$%^")
>>> s.translate(p)
H$llo Worl#!

>>> b="ddefdsdff_哈哈" 
>>> b.isidentifier() #检测一段字符串可否被当作标志符,即是否符合变量命名规则
True
不常用的操作

四、字典操作

字典一种key - value 的数据类型;它是无序的;key必须是唯一的,所以天生去重。

定义字典

info = {
    ‘stu1101‘: "xiao ming",
    ‘stu1102‘: "xiao hong",
    ‘stu1103‘: "xiao jun",
}

增加

修改

删除

查找

多级字典嵌套及操作

循环字典

#方法1
for key in info:
    print(key,info[key])

#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
    print(k,v)

 

python之路:Day01 --- Python基础2