热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python数组就是列表吗_python学习(四)列表(数组)

列表、list、数组、array都是一个意思,下标、索引、角标、编号也是一个意思,根据这个来取值new_stus[emily,刘佳,刘佳1,刘佳2,刘

列表、list、数组、array都是一个意思,下标、索引、角标、编号也是一个意思,根据这个来取值

new_stus = ['emily','刘佳','刘佳1','刘佳2','刘佳3','emily1']

print(new_stus[0])

print(new_stus[-1])

输出结果:下标为0 的是emily,下标为-1则指最后一个,emily11

1、新增cities=[南京]

cities.append('北京') 在列表末尾增加一个元素

cities.insert(0,'上海') 在列表指定位置增加一个元素

print(cities) 输出结果,cities=[上海,南京,北京]

2、修改

cities=['北京','天津','上海','成都']

cities[1]='南京'

print(cities)

输入结果: ['北京', '南京', '上海', '成都']

此种修改方式,如果指定的下标不存在会报错

3、删除

1)cities=['北京','天津','上海','成都']

cities.pop(0)

print(cities)

删除指定位置的元素,输出结果:['天津', '上海', '成都']

2)cities=['北京','天津','上海','成都']

cities.remove('上海')

print(cities)

删除指定的元素,输出结果:['北京', '天津', '成都']

3)cities.clear() 清空整个list

4)cities=['北京','天津','上海','成都']

del cities[-1]

print(cities)

删除指定位置的元素,输出结果:['北京', '天津', '上海']

4、查询

cities=['北京','天津','上海','成都']

print(cities)输出整个list

print(cities[0])输出下标为0 的元素

print(cities.index('天津'))

获取元素的下标,找不到元素的时候会报错

print(cities.count('天津'))

查看元素在list里面出现了多少次

5、反转

my_list = ['python','jemeter','charles','postman']

print(my_list.reverse()) #就是把这个list反转一下,但不会返回任何值

print(my_list)#反转后的结果

6、升序降序

nums = [9, 2, 34, 12, 34, 3423, 456]

nums.sort() #升序排序

nums.sort(reverse=True) #降序排序

print(nums)

除了对数字列表进行排序,字母列表可以排序

7、合并与复制

cities = ['成都','南京']

cities2 =['上海','北京','西安','成都']

print(cities+cities2) #合并list,重复数据不会去重

print(cities*2) #复制两遍

8、len的用法

1)列表中指取元素个数

all_users = ['测试','测试1','测试2']

print(len(all_users))

结果是3,即该列表有3个元素

2)字符串中指取字符串的长度

words = 'views'

print(len(words)) #字符串的长度

结果是5,字符串包含5个字符,长度为5

9、以上学习的练习题

#校验用户名是否合法

#输入账号密码 input

#如果账号存在的,提示已经被注册,如果不存在的,就让他注册 all_users[]

#不能为空 #strip()

#用户名长度长度6-12之间

#最多输入三次

all_users = ['emily1','emily2','emily3']for i in range(3):

username&#61; input(&#39;请输入账号&#xff1a;&#39;).strip()if len(username)>5 and len(username)<13:if all_users.count(username)>0:print(&#39;用户名已经被注册&#39;)else:print(&#39;可以注册&#39;)break

else:print(&#39;用户名长度不合法&#xff0c;长度应该在6-12之间&#xff01;&#39;)else:print(&#39;失败数次过多&#39;)

10、多维数组

1&#xff09;二维数组

words &#61; [&#39;view&#39;,&#39;code&#39;,&#39;tools&#39;,[&#39;price&#39;,&#39;num&#39;,198]]print(words[3][1])

结果为&#xff1a;num

2&#xff09;三维数组

words1 &#61; [&#39;view&#39;,&#39;code&#39;,&#39;tools&#39;,[&#39;price&#39;,&#39;num&#39;,198,[&#39;hello&#39;,&#39;usa&#39;,&#39;测试&#39;]]]print(words1[3][3][1])

结果为&#xff1a;usa

11、切片

list取值的一种方式&#xff08;取多个值&#xff09;

nums &#61; [&#39;emily&#39;,&#39;emilyq&#39;,&#39;emily2&#39;,&#39;emily3&#39;]print(nums[1:3]) #顾头不顾尾&#xff0c;即取值不包含结尾下标的值&#xff0c;即取得是下标1和2的元素

print(nums[1:]) #如果从某个下标开始取&#xff0c;取到末尾结束&#xff0c;那么末尾的下标可以省略不写

print(nums[:2]) #从头开始取&#xff0c;取到后面某个下标结束&#xff0c;那么开头的小标可以不写

print(nums[:]) #取所有值

输出结果如下&#xff1a;

[&#39;emilyq&#39;, &#39;emily2&#39;] 顾头不顾尾&#xff0c;就不会取下标为3的元素&#xff0c;只取小标为1和2的元素

[&#39;emilyq&#39;, &#39;emily2&#39;, &#39;emily3&#39;]

[&#39;emily&#39;, &#39;emilyq&#39;]

[&#39;emily&#39;, &#39;emilyq&#39;, &#39;emily2&#39;, &#39;emily3&#39;]

12、步长

lis &#61; list(range(1,21))print(lis[:18:-1]) #-1倒序&#xff0c;开头没有取值&#xff0c;所以默认从20往左取值&#xff0c;取到18的下标&#xff08;19&#xff09;&#xff0c;但不顾尾&#xff0c;所以19不取

print(lis)print(lis[:10])print(lis[:10:3]) #步长 隔几个取一次数

print(lis[::3])print(lis[::-1]) #如果步长是正数&#xff0c;从左往右取值&#xff1b;如果步长是负数&#xff0c;是从右边往左边取值

print(lis[::-2])

输出结果如下&#xff1a;

[20]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

[1, 4, 7, 10]

[1, 4, 7, 10, 13, 16, 19]

[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

[20, 18, 16, 14, 12, 10, 8, 6, 4, 2]

[2, 1]

13、多元数组反转

lis &#61; list(range(1,21))

print(lis)

lis.reverse()#改变了原来list的值

print(lis) #产生一个新的list&#xff0c;不会改变原来list的值

输出结果如下&#xff1a;

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

14、切片操作适用于字符串

info &#61; &#39;你好&#xff0c;今天天气有雨&#39;

print(info[2:0:-1])

输出结果为&#xff1a;

&#xff0c;好

步长为负要从右往左找&#xff0c;下标2的元素是逗号&#xff0c;下标1的元素是好&#xff0c;下标0的元素是你&#xff0c;顾头不顾尾&#xff0c;就只取下标2和1的&#xff0c;且是从右往左取



推荐阅读
author-avatar
rockminer
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有